Java:
char[] values = {'0', '0', '0', '0', '0', '0', '0', '0','0', '0'};
if(Files.exists(datexc)){
try(BufferedReader br = new BufferedReader(new FileReader(sdatexc + "\\valuesIn.dat"))){
try(BufferedWriter bw = new BufferedWriter( new FileWriter(sdatexc + "\\valuesOut.dat"))){
for(int x = 0; x < 20; x++){
br.read(values);
for(int valuesOut : values){
out.println(valuesOut);
}
}
}
}
Java:
while((s = br.readLine()) != null){
System.out.println(s);
}
Java:
while((x = br.read()) != -1){
text += (char)x;
}
Hallo!
Aufgabe der Übung ist aus valuesIn.dat 20 Zeilen mit 10 Messwerten zu lesen, auszugeben und in eine andere Datei zu schreiben.
Mein Problem ist das ich nicht verstehe warum das oberste Programm funktioniert und die beiden anderen Codeschnipsel nicht.
Mit den 2 unteren Beispielen habe ich am Anfang versucht die Datei auszulesen bevor ich die Lösung angeschaut habe. Mit der Methode readLine() hat es mir nur kryptische Zeichen zurückgegeben und die Methode read() ist schon beim Versuch den Dateiinhalt zu lesen gescheitert.
Mein zweites Problem besteht darin das ich nicht kapiere warum die Ausgabe der gelesenen Werte mit einer foreach Schleife funktioniert, während ich bei der Ausgabe mit einer einfachen for() Schleife erneut nur kryptische Zeichen erhalte.
Zuletzt bearbeitet: