В C# есть статическое свойство Environment.Newline, которое изменяется в зависимости от работающей платформы.
Есть ли что-нибудь подобное в Java?
Теперь, когда я перечитал свое заявление, мне интересно, почему я тоже, мне интересно, о чем я думал




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