writeBytes und Zeilenumbruch!?
Daniel
- java
Hallo zusammen
Ich schreibe eine einfache Applikation für eine Büchersammlung mithilfe eines Textfiles. Dabei werden einfach beim Start der Applikation die Werte eines Textfiles in ein Array eingelesen und in einer Form ausgegeben.
Ich verwende das Objekt "RandomAccessFile" mit der Methode writeBytes() um dem Textfile einen neuen Datensatz hinzuzufügen. Leider gelingt es mir nicht am Ende eines Wertes, einen Zeilenumbruch hinzuzufügen. Wenn ich File.writeBytes("Test\n"); schreibe, so erscheint im Textfile einfach folgendes: Test
Das Textfile sollte so aussehen:
Titel1
Autor1
Verlag1
Titel2
Autor2
Verlag2
...
Wie muss ich es anstellen damit ich einen richtigen Zeilenumbruch erhalte?
Besten Dank für die Hilfe im Voraus...
Gruss Daniel
Hallo,
Ich verwende das Objekt "RandomAccessFile" mit der Methode writeBytes() um dem Textfile einen neuen Datensatz hinzuzufügen. Leider gelingt es mir nicht am Ende eines Wertes, einen Zeilenumbruch hinzuzufügen. Wenn ich File.writeBytes("Test\n"); schreibe, so erscheint im Textfile einfach folgendes: Test
Wie muss ich es anstellen damit ich einen richtigen Zeilenumbruch erhalte?
Byt ist ein numerisches Format. Was Du willst, ist ein Zeichen. Vergleiche:
class Main {
public static void main(String[] args) {
byte b = 65;
byte nl = 10;
byte d = 66;
System.out.println("byte: " + b + nl + d);
System.out.println("char: " + (char)b + (char)nl + (char)d);
}
}
Aber was hast Du gegen die anderen write-Methoden der Klasse java.io.RandomAccessFile?
raf.writeChar('\n');
raf.writeChars("abc\n");
raf.writeUTF("abc\n");
viele Grüße
Axel
Hallo,
Ich verwende das Objekt "RandomAccessFile" mit der Methode writeBytes() um dem Textfile einen neuen Datensatz hinzuzufügen. Leider gelingt es mir nicht am Ende eines Wertes, einen Zeilenumbruch hinzuzufügen. Wenn ich File.writeBytes("Test\n"); schreibe, so erscheint im Textfile einfach folgendes: Test
Sorry, ich hatte nicht richtig gelesen. Vergiss das vorherige Posting.
File.writeBytes("Test\n");
schreibt schon einen Zelenumbruch in die Datei. Einige Windows Text-Editoren erwarten aber als Zeilenwechsel nicht nur NewLine, sondern CarriageReturn+NewLine. Diese Texteditoren stellen dann Deine Datei nicht richtig dar.
Lösung1: Öffne die Datei mit z.B. Wordpad.
Lösung2: Schreibe: File.writeBytes("Test\r\n");
viele Grüße
Axel
Vielen DANK!!!
Ich dachte mir dass es ein Problem des Texteditors ist, da JAVA readLine() das File richtig liest...
Gruss Daniel
Vielen DANK!!!
Ich dachte mir dass es ein Problem des Texteditors ist, da JAVA readLine() das File richtig liest...
Hallo
eigentlich ist es eines der vielen Probleme, die wir Microsoft zu verdanken haben. Die kamen auf die idiotische Idee, bei DOS einen Zeilenumbruch anders darzustellen als es üblich war.
Dominik