L
LoN_Nemesis
Gast
Hallo,
ich möchte folgendes mit einem Java Programm lösen: Eine relativ grosse (~2 MB) Textdatei öffnen, am Ende jeder Zeile je nach Inhalt der Zeile ein Wort anhängen und das ganze dann als neue Datei abspeichern.
Mein Problem ist nun, dass ich mit dem StreamTokenizer arbeite, da ich wie gesagt den Inhalt jeder Zeile relativ genau durchsuchen muss (es kommen in jeder Zeile Wörter und Zahlen vor) um dann am Ende vor das EOL ein weiteres Wort anzufügen.
Da ich die Zeile ansonsten komplett kopieren möchte, habe ich folgenden Code verwendet:
dabei ist fw mein FileWriter und st mein StreamTokenizer. Leider funktioniert das nicht so wie ich dachte, das Eingabefile ist 1,6 MB gross, das Ausgabefile nur 800 KB. Es gibt keine Zeilenumbrüche.
Woran könnte das liegen? Also erstens wie schreibe ich ein EOL Zeichen und zweitens warum ist das File so klein? Gibt es vielleicht eine Grössenbeschränkung für eine Zeile und die liegt bei 800 KB? Oder werden noch weitere Zeichen nicht übernommen, aber wenn ja welche und warum?
Danke im Vorraus!
ich möchte folgendes mit einem Java Programm lösen: Eine relativ grosse (~2 MB) Textdatei öffnen, am Ende jeder Zeile je nach Inhalt der Zeile ein Wort anhängen und das ganze dann als neue Datei abspeichern.
Mein Problem ist nun, dass ich mit dem StreamTokenizer arbeite, da ich wie gesagt den Inhalt jeder Zeile relativ genau durchsuchen muss (es kommen in jeder Zeile Wörter und Zahlen vor) um dann am Ende vor das EOL ein weiteres Wort anzufügen.
Da ich die Zeile ansonsten komplett kopieren möchte, habe ich folgenden Code verwendet:
Code:
if (st.ttype == st.TT_WORD) fw.write(st.sval);
else if (st.ttype == st.TT_NUMBER) {Double td = new Double(st.nval); fw.write(td.toString());}
else if (st.ttype == st.TT_EOL) fw.write('\n');
else fw.write((char)st.ttype);
dabei ist fw mein FileWriter und st mein StreamTokenizer. Leider funktioniert das nicht so wie ich dachte, das Eingabefile ist 1,6 MB gross, das Ausgabefile nur 800 KB. Es gibt keine Zeilenumbrüche.
Woran könnte das liegen? Also erstens wie schreibe ich ein EOL Zeichen und zweitens warum ist das File so klein? Gibt es vielleicht eine Grössenbeschränkung für eine Zeile und die liegt bei 800 KB? Oder werden noch weitere Zeichen nicht übernommen, aber wenn ja welche und warum?
Danke im Vorraus!