Odpowiedzi:
Oprócz właściwości line.separator, jeśli używasz Java 1.5 lub nowszej i String.format (lub innych metod formatowania ) możesz użyć %n
jak w
Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY%n", c);
//Note `%n` at end of line ^^
String s2 = String.format("Use %%n as a platform independent newline.%n");
// %% becomes % ^^
// and `%n` becomes newline ^^
Więcej informacji można znaleźć w interfejsie API Java 1.8 dla Formatter .
%
dane wprowadzone przez użytkownika!
String.format(s + "%n")
można łatwo rozwiązać String.format("%s%n", s)
. Zawsze ryzykowne jest angażowanie danych wejściowych użytkownika jako treści formatu (w taki sam sposób jak eval()
).
Java 7 ma teraz System.lineSeparator()
metodę.
lineSeperator(int)
która zwraca pewną liczbę separatorów linii, ponieważ często używam 2 jednocześnie.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Jeśli próbujesz zapisać nowy wiersz w pliku, możesz po prostu użyć metody newLine () BufferedWriter .
Jest to również możliwe: String.format("%n")
.
Lub, String.format("%n").intern()
aby zapisać niektóre bajty.
\r\n
Biblioteka commons-lang ma dostępne stałe pole o nazwie SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Powyższy fragment kodu będzie miał dwa ciągi znaków oddzielone nową linią niezależnie od platform.
Jeśli piszesz do pliku, używając BufferedWriter
instancji, użyj newLine()
metody tej instancji. Zapewnia niezależny od platformy sposób zapisu nowej linii w pliku.
Unikaj dodawania łańcuchów za pomocą String + String itp. Zamiast tego użyj StringBuilder.
String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
string + string
”.