BufferedWriter schreibt die letzten paar Zeilen nicht

  • Themenstarter Themenstarter Komprimini
  • Beginndatum Beginndatum
K

Komprimini

Gast
Hallo an alle,

Ich habe schon recht oft einen Bufferedwriter gemacht und es gab nie probleme, jedoch wollt ich heute einen machen um eine recht beeindruckend große TxT Datei zu kopieren. Ich hab schlicht und einfach mit dem BufferedReader die TxT datei eingelesen und in einer lockeren "while line != null" schleife alles in eine neue Datei geschrieben. Nun kommt der interessante Fehler. Die ausgegebene Datei hat nur 39.989 KB und die Original aber 40.000KB..... und ich hab geschaut. Es fehlen genau die LETZTEN 11 KB. Woran kann das liegen? hier ein einfaches Code-Beispiel.

[JAVA=42] public void defineReader() {
try {
reader = new BufferedReader(new FileReader(
"D:\\DR-ZVRSAV_Teil4.txt"));

} catch (FileNotFoundException e) {
System.out
.println("Im Programmablauf ist leider ein Fehler aufgetreten: Die angegebene Datei wurde nicht gefunden.");
e.printStackTrace();
}
}

public void reading() {

try {

FileWriter fwriter = new FileWriter("D:\\Startdump.txt");
BufferedWriter bwriter = new BufferedWriter(fwriter);
while ((line = reader.readLine()) != null) {
 
sry bin ausversehen auf Tab + enter gekommen = Thema erstellt.... hier nochmal der Code

[JAVA=42] public void defineReader() {
try {
reader = new BufferedReader(new FileReader(
"D:\\DR-ZVRSAV_Teil4.txt"));

} catch (FileNotFoundException e) {
System.out
.println("Im Programmablauf ist leider ein Fehler aufgetreten: Die angegebene Datei wurde nicht gefunden.");
e.printStackTrace();
}
}

public void reading() {

try {

FileWriter fwriter = new FileWriter("D:\\Startdump.txt");
BufferedWriter bwriter = new BufferedWriter(fwriter);
while ((line = reader.readLine()) != null) {
bwriter.write(line);
bwriter.newLine();
}
} catch (IOException e1) {
System.out.println("Es ist leider ein Fehler aufgetreten: Zeile: "
+ nummer + e1);
e1.printStackTrace();
}
}[/code]
 
BufferReader wird auch geschlossen? Anhand deines Codes sehe ich nicht das du den bufferreader schliesst... dadurch können die fehlenden Daten entstehen.

EDIT: Da war einer schneller 😛
 
Wo ist das
Code:
bwriter.close()
?

Wenn's nur um das Kopieren von Dateien geht (das ist ja egal ob es ist um ein Textfile oder sonstiges handelt) würde ich direkt mit einem In und OutputStream arbeiten.
 
Jap....er war nicht zu... und... jap.....die fehlenden daten sind da..... thx für eure ganze hilfe xD
 

Zurück
Oben