Відповіді:
На додаток до властивості line.separator, якщо ви використовуєте java 1.5 або пізнішої версії, а також String.format (або інші методи форматування ) ви можете використовувати %n
як у
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 ^^
Докладніші відомості див. У API API 1.8 для Форматтера .
%
користувача!
String.format(s + "%n")
легко вирішити String.format("%s%n", s)
. Завжди ризиковано включати введення користувача як тіло формату (так само, як eval()
).
У Java 7 тепер є System.lineSeparator()
метод.
lineSeperator(int)
який повертає деяку кількість сепараторів рядків, оскільки я часто можу використовувати 2 одночасно.
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Якщо ви намагаєтеся написати новий рядок у файл, ви можете просто скористатися методом BuLerWriter 's newLine () .
Це також можливо: String.format("%n")
.
Або String.format("%n").intern()
зберегти кілька байт.
\r\n
The Commons-lang має постійне поле під назвою SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Вищенаведений фрагмент матиме два рядки, розділені новою лінією незалежно від платформи.
Якщо ви пишете у файл, використовуючи BufferedWriter
екземпляр, використовуйте newLine()
метод цього примірника. Це забезпечує незалежний від платформи спосіб записувати новий рядок у файл.
Уникайте додавання рядків за допомогою String + String тощо, використовуйте 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
".