Есть ли в Java константа Newline, такая как Environment.Newline в C#?

В C# есть статическое свойство Environment.Newline, которое изменяется в зависимости от работающей платформы.

Есть ли что-нибудь подобное в Java?

Технически вы должны спросить: как Java представляет свойство newLine, реализованное в C# как Environment.Newline при его создании?

Peter 29.10.2008 17:53

Теперь, когда я перечитал свое заявление, мне интересно, почему я тоже, мне интересно, о чем я думал

Peter 16.12.2015 13:32
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
204
2
123 390
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Начиная с 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

Hamzeh Soboh 12.04.2015 13:31

Имейте в виду, что это свойство не так полезно, как многие думают. Например, то, что ваше приложение запущено на компьютере с Windows, не означает, что в файле, который он читает, будут использоваться разделители строк в стиле Windows. Многие веб-страницы содержат смесь символов «\ n» и «\ r \ n», собранную из разных источников. Когда вы читаете текст как серию логических строк, вы всегда должны искать все три основных стиля разделителей строк: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") и Mac до OSX ("\ r").

Когда вы используете текст пишу, вам следует больше беспокоиться о том, как файл будет использоваться, чем о том, на какой платформе вы работаете. Например, если вы ожидаете, что люди прочитают файл в Блокноте Windows, вам следует использовать «\ r \ n», потому что он распознает только один вид разделителя.

Используется ли на практике Mac до OSX ("\ r")? Или верно сказать, что о нем можно благополучно «забыть»?

Pacerier 06.03.2012 07:46

Что ж, независимо от того, используются ли сами машины или нет, вы должны предположить, что все еще существуют документы, которые были написано на Mac до OSX. Я знаю, что есть соблазн сократить (?:\r?\n|\r) до (?:\r?n), но нет, я не думаю, что это безопасно. В любом случае я предпочитаю (?:\r\n|[\r\n]); Я знаю, что там больше персонажей, но выглядит аккуратнее. : D И если вам все равно, что вы используете разделители строк сколько, [\r\n]+ работает нормально.

Alan Moore 06.03.2012 14:22

Начиная с Java 7:

System.lineSeparator()

Java API : System.lineSeparator

Returns the system-dependent line separator string. It always returns the same value - the initial value of the system property line.separator. On UNIX systems, it returns "\n"; on Microsoft Windows systems it returns "\r\n".

Другие вопросы по теме