У C # є статична властивість Environment.Newline, яка змінювалася залежно від запущеної платформи.
Чи є щось подібне на Java?
У 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 про інші властивості.
Станом на Java 7:
System.lineSeparator()
Java API: System.lineSeparator
Повертає системний рядок роздільника рядків. Він завжди повертає одне і те ж значення - початкове значення системного властивості line.separator. У системах UNIX він повертає "\ n"; в системах Microsoft Windows він повертає "\ r \ n".
Пам’ятайте, що ця властивість не настільки корисна, як багато хто думає, що вона є. Наприклад, тому, що ваш додаток працює на машині Windows, наприклад, це не означає, що файл, який він читає, буде використовувати роздільники рядків у стилі Windows. Багато веб-сторінок містять суміш "\ n" та "\ r \ n", зведених з різних джерел. Коли ви читаєте текст у вигляді серії логічних рядків, завжди слід шукати всі три основні стилі роздільника рядків: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") та до OSX Mac ("\ r").
Коли ви пишете текст, вам слід більше потурбуватися про те, як файл буде використовуватися, ніж на якій платформі ви працюєте. Наприклад, якщо ви очікуєте, що люди прочитають файл у Блокноті Windows, вам слід скористатися "\ r \ n", оскільки він розпізнає лише один вид роздільника.
(?:\r?\n|\r)до (?:\r?n), але ні, я не думаю, що це безпечно. Я (?:\r\n|[\r\n])все одно віддаю перевагу ; Я знаю, що це більше персонажів, але це виглядає акуратніше. : D І якщо вам не байдуже, скільки розділювачів ліній ви споживаєте, це [\r\n]+працює чудово.