it-swarm.com.de

Gibt es eine Newline-Konstante in Java wie Environment.Newline in C #?

In C # gibt es die statische Eigenschaft Environment.Newline , die sich je nach laufender Plattform ändert.

Gibt es etwas Ähnliches in Java?

185
orj

Stand Java 7 (und Android API Level 19):

System.lineSeparator()

Dokumentation: Java Platform SE 7


Verwenden Sie für ältere Versionen von Java:

System.getProperty("line.separator");

Weitere Eigenschaften finden Sie unter https://Java.Sun.com/docs/books/tutorial/essential/environment/sysprop.html .

256
Tom Lokhorst

Ab Java 7:

System.lineSeparator()

Java-API: System.lineSeparator

Gibt die systemabhängige Zeilentrennzeichenfolge zurück. Es wird immer der gleiche Wert zurückgegeben - der Anfangswert der Systemeigenschaft line.separator. Auf UNIX-Systemen wird "\ n" zurückgegeben. Auf Microsoft Windows-Systemen wird "\ r\n" zurückgegeben.

87
J.Steve

Beachten Sie, dass diese Eigenschaft nicht so nützlich ist, wie viele Leute glauben. Nur weil Ihre App beispielsweise auf einem Windows-Computer ausgeführt wird, bedeutet dies nicht, dass die gelesene Datei Windows-artige Zeilentrennzeichen verwendet. Viele Webseiten enthalten eine Mischung aus "\ n" und "\ r\n", die aus verschiedenen Quellen zusammengeschustert wurden. Wenn Sie Text als eine Reihe logischer Zeilen lesen, sollten Sie immer nach allen drei Hauptstilen für die Trennung von Zeilen suchen: Windows ("\ r\n"), Unix/Linux/OSX ("\ n") und Pre-OSX Mac ("\ r").

Wenn Sie Schreiben Text schreiben, sollten Sie sich mehr Gedanken darüber machen, wie die Datei verwendet wird, als über die Plattform, auf der Sie ausgeführt werden. Wenn Sie beispielsweise erwarten, dass Benutzer die Datei in Windows Notepad lesen, sollten Sie "\ r\n" verwenden, da nur die eine Art von Trennzeichen erkannt wird.

58
Alan Moore