Input/Output Wo kommt das Newline her?

A

alex???

Gast
hey,

ich versuche gerade, eine Datei einzulesen:

Java:
try (FileInputStream stream = new FileInputStream(result)) {
            StringBuilder sb = new StringBuilder();
            while (0 < stream.available()) {
                byte[] buffer = new byte[stream.available()];
                int num = stream.read(buffer);
                sb.append(new String(Arrays.copyOf(buffer, num)));
            }
        }

Wenn ich diese Datei mit gedit öffne, hat sie KEIN newline am Ende, es steht "Hallo Welt" drin. Lese ich sie aber so wie oben gezeigt mit Java ein, steht in meinem StringBuilder hinterher "Hallo Welt\n". Woran liegt das?

Vielen Dank schonmal,
Alex
 
S

schlagi123

Gast
Hallo alex???,

welches Betriebssystem benutzt du? Vielleicht Windows. Unter Windows erkennt man erst eine Zeilenumbruch wenn ein "\r\n" benutzt wird. Java hingegen zeigt schon bei einem "\n" einen Absatz an.

Unter Unix Systemen wird auch schon ein "\n" als Absatz erkannt. Bei älteren Macs wird ein "\r" als Absatz erkannt, bei den neueren hingegen "\n".


Ich hoffe ich konnte dir weiterhelfen.
 

Network

Top Contributor
Also in Texteditoren ist es meist standardmäßig so, dass am Ende automatisch eine neue Zeile eingefügt wird... Das ist mir schon sehr oft bei vielen aufgefallen und der Sinn dahinter ist mir schleierhaft.

Ich nehme an, wenn du danach die Bytes einliest, es nunmal dabei ist.

Versuche doch mal von Java aus in eine Datei zu erstellen und deinen String zu schreiben (Ohne die Datei mit irgendetwas zu verändern) um dann danach deinen Code nochmals aufzurufen, was dann herauskommt.

Gruß
Net
 
A

alex???

Gast
Also:

Betriebsystem ist Linux. In gedit (=Texteditor) ist der Newline NICHT vorhanden. Beim Einlesen mit Java ist er da. Im ghex steht da ebenfalls ein newline, er wird also wohl von gedit verschluckt. Dann muss ich den wohl nach dem Einlesen noch rausfiltern.
 

Gregorrr

Bekanntes Mitglied
Wenn in der Textdatei kein newline drin ist, ist auch keins drin.

Java:
StringBuilder sb2 = new StringBuilder("Hello World");
System.out.println(sb.toString().equals(sb2.toString()));

Ein einfacher Test zeigt, dass die zwei Strings ohne newline die gleichen sind.
 
Zuletzt bearbeitet:

HoaX

Top Contributor
Das liegt daran dass es gedit falsch anzeigt. Probiers doch mal umgedreht: Schreibe in Datei A "hallo" und in Datei B "hallo\n" und öffne beide mit gedit...

Ansonsten sei dir noch auf der Konsole "hexdump -C Dateiname" ans Herz gelegt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
T Text einlesen code was kommt dahin? Java Basics - Anfänger-Themen 1
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
S Wohin kommt das „abstract“? Vor oder nach „public“/ „private“ /... Java Basics - Anfänger-Themen 3
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
G Woher kommt diese Eigenschaft Java Basics - Anfänger-Themen 5
D Woher kommt die 48?! Wie setz ich den Anfangswert auf 0??? Java Basics - Anfänger-Themen 8
I Schleife fragt Wert ab bis 0 kommt (mit IO.java klasse) Java Basics - Anfänger-Themen 16
L Input/Output Wieso kommt diese Ausgabe? Java Basics - Anfänger-Themen 12
V Operatoren Warum kommt bei double bei den Nachkommastellen irgendwann eine 2?! (1.20000000000002) Java Basics - Anfänger-Themen 5
V Operatoren Warum kommt nicht das gewünschte Ergebnis dieser Operation? Java Basics - Anfänger-Themen 3
J Ein Objekt zurückgeben, was kommt dabei raus ? Java Basics - Anfänger-Themen 4
S button kommt durch bild Java Basics - Anfänger-Themen 13
T Datum wird auf der Konsole richtig ausgegeben, aber im Textarea kommt ERROR Java Basics - Anfänger-Themen 8
Tacofan Hangman - ist der Buchstabe vorhanden wenn ja wo kommt er vor Java Basics - Anfänger-Themen 6
G Vertsändnisfrage zu Code - Wie kommt diese Ausgabe zustande? Java Basics - Anfänger-Themen 2
J BlueJ - kompilieren - und wie weit kommt man mit BlueJ? Java Basics - Anfänger-Themen 4
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
S Kommt es zu Seiteneffekten wenn man waehrend den laufenden JUnit Tests den Code aendert? Java Basics - Anfänger-Themen 2
K Methoden ResultSet als Methodenübergabewert kommt leer an Java Basics - Anfänger-Themen 0
C For-Schleife wie kommt man auf die Lösung? Java Basics - Anfänger-Themen 2
M Erste Schritte Wie kommt man auf diese Ausgabe? Java Basics - Anfänger-Themen 3
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
A Wie kommt diese NullPointerException zustande? Java Basics - Anfänger-Themen 13
R Input/Output ImageIO kommt mit pic_url nicht klar Java Basics - Anfänger-Themen 10
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
D Was kommt raus, wenn NaN mit einer Zahl verglichen wird? Java Basics - Anfänger-Themen 5
K Arraylisten auslesen, kommt nur Quatsch raus Java Basics - Anfänger-Themen 15
X JTable in JPanel in JTabbedPane mouseevent von jtable kommt nicht durch Java Basics - Anfänger-Themen 3
S Beim kompilieren kommt Ant Build.Was ist das? Java Basics - Anfänger-Themen 8
T TCP, Empfang nur wenn wirklich etwas kommt Java Basics - Anfänger-Themen 6
R Zeit kommt mir zu lange vor... Java Basics - Anfänger-Themen 7
A ArrayIndexOutOfBoundsException - woher kommt er?! Java Basics - Anfänger-Themen 4
eXistenZ Java-Boon kommt nicht zurrecht mit der Umsetzung einer Aufgabe... Java Basics - Anfänger-Themen 7
B Warum kommt immer die 0 als Ergebnis? Was habe ich falsch gemacht? Java Basics - Anfänger-Themen 18
J Woher kommt diese NullPointerException? Java Basics - Anfänger-Themen 6
I Warum kommt der Fehler? Minesweeper programmieren Java Basics - Anfänger-Themen 7
M Woher kommt der Funktionsaufruf? Java Basics - Anfänger-Themen 2
K Wieso kommt ne NullPointerException Java Basics - Anfänger-Themen 3
A nach if abfrage kommt fehler Java Basics - Anfänger-Themen 8
G JFileChooser kommt doppelt Java Basics - Anfänger-Themen 3
P Wieso kommt die Fehlermeldung ".class expected"? Java Basics - Anfänger-Themen 2
P Textdateischreiben, etwas fehlt noch bzw. 1 error kommt Java Basics - Anfänger-Themen 4
J Hilfe Java Hausaufgabe kommt nicht weiter Java Basics - Anfänger-Themen 5
H Server Client, es kommt nichts an. Java Basics - Anfänger-Themen 5
B Char kommt 2 mal im Wort vor (indexOf) Java Basics - Anfänger-Themen 5
B Woher kommt der Name Java? Java Basics - Anfänger-Themen 4
L Compilieren funktioniert, aber beim öffnen kommt nichts Java Basics - Anfänger-Themen 7
G Stringsuche: Wie häufig kommt String1 in Strin2 vor? Java Basics - Anfänger-Themen 7
U Wie oft kommt WertX int[] vor? Java Basics - Anfänger-Themen 2
frau-u StackOverflow - woher kommt es? Java Basics - Anfänger-Themen 7
G Java-1.5-Installation: warum kommt keine javac.exe mit? Java Basics - Anfänger-Themen 7
S die java machine läuft viel zuuuu langsam, woher kommt das?? Java Basics - Anfänger-Themen 3
M itext footer newline Java Basics - Anfänger-Themen 3
S newline in AL? Java Basics - Anfänger-Themen 8
G Newline Sonderzeichen aus File entfernen u als String speic? Java Basics - Anfänger-Themen 3
G newline in Datei speichern ? Java Basics - Anfänger-Themen 6
G newline in JOptionPane Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben