Hi Leute,
ich war so stolz, dass mein Programm den Inhalt meiner beiden Dateien wiedergegeben hat.
Aber die Validation schimpft immer mit mir und ich weiß nicht, was ich falsch mache. Kann mir bitte jemand helfen.
Es kann natürlich sein, dass er meckert, weil ich noch ein Leerzeichen hinter der letzten Zeile habe. (Das Leerzeichen habe ich nun beseitigt, Leider bleibt das Ergebnis der Validation das gleiche.
Aber er sagt auch meine 2. Datei würde nicht ausgedruckt werden. Aber da unten seht ihr, sie ist da.
(Die Kommentare hinter der while-Schleife bitte ignorieren, diese haben keine Bedeutung mehr).
Das ist mein Output:
Datei1: erste Zeile Datei1: zweite Zeile Datei1: dritte Zeile
Datei2: erste Zeile Datei2: zweite Zeile Datei2: vierte Zeile
Process finished with exit code 0
Liebe Grüße
Claudia
package de.codegym.task.task16.task1630;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
public class Solution {
public static String firstFileName;
public static String secondFileName;
//schreib hier deinen Code: /Users/claudia/Datei1.txt und Datei2.txt
static {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))){
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 fullFileName;
String fileContent;
String content = "";
ArrayList <String> list = new ArrayList<>();
public void setFileName(String fullFileName) {
this.fullFileName = "/Users/claudia/" + fullFileName;
}
public void run(){
try (BufferedReader fileReader = new BufferedReader(new FileReader(fullFileName))){
while(true){ // i liest den ersten Character ein. Wenn man diesen nicht wieder
fileContent = fileReader.readLine();
if (fileContent != null) { list.add(fileContent + " ");}
else break;// dazupackt, dann fehlt dieser später im Ausdruck.
}
} catch (IOException e) {
}
}
public String getFileContents() {
for (String x: list) {
content += x;
}return content;
}
}
}