hallo
hab folgendes Problem:
Ich habe mir einen Parser gemacht, der Textfiles parst!
Unter Linux hab ich die Sache programmiert und dort klappt es auch wunderbar.
Jetzt soll das ganze auch unter Windows laufen.
Ich weiss jetzt das unter Windows der Zeilenumbruch ein : "\r\n" ist. Bei Linux ist es ein "\n"!
Darauf habe ich meinen Parser(JavaCC erstellt) auch angepasst!
Mein Programm liest den File ein und stellt ihn in einen JTextArea da.Dort kann ich ich im TextArea auch den Inhalt ändern.
Jetzt das Problem:
Wenn ich den File jetzt abspeichere, wird an jedes Zeilenende ein "\r" angehängt. Und das nach jedem neuen Abspeichern! Wenn ich also drei mal abspeichere hab ich 3 mal "\n" (sieht im edit wie eine Note aus oder unter Notpad wie ein Kasten) . Dadurch wir die Datei beim nächsten Lesen für meinen Parser natürlich unkenntlich!
Das ist meine Speicher funktion:
public void writeFile(File file)
{
_file = file;
try
{
System.out.println(file.getAbsolutePath());
FileWriter out = new FileWriter(_file);
_jTextArea.write(out);
out.close();
} catch (IOException e)
{
System.out.println("Fehler beim Speichern");
}
}
Ziel sollte also sein diese "\r" am Ende nach dem Speicher wegzubekommen!
Eines dieser Steuerzeichen wird auch nur an das Ende gehängt bei Zeilen die ich nich editiere, also die vor der Speicherung nicht verändert worden sind!
Viel Grüsse munuel
hab folgendes Problem:
Ich habe mir einen Parser gemacht, der Textfiles parst!
Unter Linux hab ich die Sache programmiert und dort klappt es auch wunderbar.
Jetzt soll das ganze auch unter Windows laufen.
Ich weiss jetzt das unter Windows der Zeilenumbruch ein : "\r\n" ist. Bei Linux ist es ein "\n"!
Darauf habe ich meinen Parser(JavaCC erstellt) auch angepasst!
Mein Programm liest den File ein und stellt ihn in einen JTextArea da.Dort kann ich ich im TextArea auch den Inhalt ändern.
Jetzt das Problem:
Wenn ich den File jetzt abspeichere, wird an jedes Zeilenende ein "\r" angehängt. Und das nach jedem neuen Abspeichern! Wenn ich also drei mal abspeichere hab ich 3 mal "\n" (sieht im edit wie eine Note aus oder unter Notpad wie ein Kasten) . Dadurch wir die Datei beim nächsten Lesen für meinen Parser natürlich unkenntlich!
Das ist meine Speicher funktion:
public void writeFile(File file)
{
_file = file;
try
{
System.out.println(file.getAbsolutePath());
FileWriter out = new FileWriter(_file);
_jTextArea.write(out);
out.close();
} catch (IOException e)
{
System.out.println("Fehler beim Speichern");
}
}
Ziel sollte also sein diese "\r" am Ende nach dem Speicher wegzubekommen!
Eines dieser Steuerzeichen wird auch nur an das Ende gehängt bei Zeilen die ich nich editiere, also die vor der Speicherung nicht verändert worden sind!
Viel Grüsse munuel
Zuletzt bearbeitet: