Hallo miteinander,
ich suche nun seit Stunden vergebens nach einer Lösung. Leider vergebens.
Folgendes Szenario. Ich lese mit Hilfe von guava ein bestehendes File ein und erzeuge ein List-Objekt, in welchem jedes Element gleich jeder Zeile des Files ist.
das funktioniert wunderbar.
Anschließend modifiziere ich einige Elemente der Liste um sie meinen Bedürfnissen anzupassen.
Funktioniert auch wunderbar.
Nun versuche ich wieder den Inhalt der Liste in ein anderes File zu schreiben. Und genau hier liegt das Problem. Dies klappt bis zu einem gewissen Punkt, allerdings fehlen im resultierenden File in etwas die letzten 200 Zeilen. Ich habe mir bereits die Liste in der Konsole ausgeben lassen (System.out.println) dort ist alles so wie es sein sollte. Das Problem liegt also definitiv beim Schreiben von der Liste in das File. Leider komme ich nicht dahinter warum er nicht alle Zeilen schreibt. Ich hoffe es weiß jemand hier woran es liegen könnte.
bzw. meine anfängliche Methode
Beide haben genau das gleiche Problem... 5427 von 5668 Zeilen wurden geschrieben.. nichtmals eine Fehlermeldung gibts.
Gruß
Patrick
ich suche nun seit Stunden vergebens nach einer Lösung. Leider vergebens.
Folgendes Szenario. Ich lese mit Hilfe von guava ein bestehendes File ein und erzeuge ein List-Objekt, in welchem jedes Element gleich jeder Zeile des Files ist.
Java:
public static List<String> FileToList(File file) throws Exception{
return Files.readLines(file, Charsets.UTF_8);
}
das funktioniert wunderbar.
Anschließend modifiziere ich einige Elemente der Liste um sie meinen Bedürfnissen anzupassen.
Funktioniert auch wunderbar.
Nun versuche ich wieder den Inhalt der Liste in ein anderes File zu schreiben. Und genau hier liegt das Problem. Dies klappt bis zu einem gewissen Punkt, allerdings fehlen im resultierenden File in etwas die letzten 200 Zeilen. Ich habe mir bereits die Liste in der Konsole ausgeben lassen (System.out.println) dort ist alles so wie es sein sollte. Das Problem liegt also definitiv beim Schreiben von der Liste in das File. Leider komme ich nicht dahinter warum er nicht alle Zeilen schreibt. Ich hoffe es weiß jemand hier woran es liegen könnte.
Java:
public static void ListToFile(List<String> stringlist, File targetfile){
File result = targetfile;
try {
targetfile.createNewFile();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ListIterator<String> it= stringlist.listIterator();
BufferedWriter bwr;
try {
FileWriter fwr;
fwr = new FileWriter(result);
bwr = new BufferedWriter (fwr);
for(int i=0;i<stringlist.size();i++){
bwr.write(stringlist.get(i));
bwr.newLine();
}
} catch(Exception e){System.err.println(e);}
}
bzw. meine anfängliche Methode
Java:
public static void ListToFile(List<String> stringlist, File targetfile){
ListIterator<String> it= stringlist.listIterator();
BufferedWriter bwr;
try {
FileWriter fwr;
fwr = new FileWriter(targetfile);
bwr = new BufferedWriter (fwr);
while(it.hasNext()){
bwr.write(it.next());
bwr.newLine();
}
} catch(Exception e){System.err.println(e);}
}
}
Beide haben genau das gleiche Problem... 5427 von 5668 Zeilen wurden geschrieben.. nichtmals eine Fehlermeldung gibts.
Gruß
Patrick