Wenn ich diesen Code mit zwei Dateien mit einem und zwei Wörtern teste, erhalte ich den Inhalt dieser Dateien in zwei Zeile, die Datei mit zwei Wörtern durch ein Leerzeichen getrennt.
Was mache ich falsch?
package de.codegym.task.task16.task1630;
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Scanner;
public class Solution {
public static String firstFileName;
public static String secondFileName;
public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//schreib hier deinen Code
static {
try {
firstFileName = reader.readLine();
secondFileName = reader.readLine();
}
catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws InterruptedException {
systemOutPrintln(firstFileName);
systemOutPrintln(secondFileName);
}
public static void systemOutPrintln(String fileName) throws InterruptedException {
ReadFileInterface f = new ReadFileThread();
f.setFileName(fileName);
f.start();
//schreib hier deinen Code
f.join();
System.out.println(f.getFileContents());
}
public interface ReadFileInterface {
void setFileName(String fullFileName);
String getFileContents();
void join() throws InterruptedException;
void start();
}
//schreib hier deinen Code
public static class ReadFileThread extends Thread implements ReadFileInterface {
String fileName;
String content = "";
@Override
public void setFileName(String fullFileName) {
this.fileName = fullFileName;
}
@Override
public String getFileContents() {
return content;
}
@Override
public void run() {
try {
FileInputStream input = new FileInputStream("Q:/Java/" + fileName);
Scanner scanner = new Scanner(input);
//content = scanner.next();
while (scanner.hasNext()) {
content = content + scanner.next() + " ";
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}