В C # есть статическое свойство Environment.Newline, которое меняется в зависимости от работающей платформы.
Есть ли что-нибудь подобное в Java?
В C # есть статическое свойство Environment.Newline, которое меняется в зависимости от работающей платформы.
Есть ли что-нибудь подобное в Java?
Ответы:
Начиная с Java 7 (и уровня API Android 19):
Документация: Java Platform SE 7
Для более старых версий Java используйте:
См. Https://java.sun.com/docs/books/tutorial/essential/environment/sysprop.html для других свойств.
источник
Начиная с Java 7:
источник
Имейте в виду, что это свойство не так полезно, как думают многие. Например, если приложение работает на компьютере с Windows, это не означает, что файл, который он читает, будет использовать разделители строк в стиле Windows. Многие веб-страницы содержат смесь «\ n» и «\ r \ n», собранных из разных источников. Когда вы читаете текст как последовательность логических строк, вы всегда должны искать все три основных стиля разделителя строк: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") и Mac OS до OS ("\ r").
Когда вы будете писание текст, вы должны быть более озабочены тем , как файл будет использоваться , чем платформа вы работаете на. Например, если вы ожидаете, что люди будут читать файл в блокноте Windows, вы должны использовать «\ r \ n», поскольку он распознает только один тип разделителя.
источник
(?:\r?\n|\r)
до(?:\r?n)
, но нет, я не думаю , что это безопасно. Я предпочитаю в(?:\r\n|[\r\n])
любом случае; Я знаю, что это больше персонажей, но выглядит аккуратнее. : D И если вам все равно, сколько разделителей строк вы потребляете,[\r\n]+
работает просто отлично.