Apakah ada konstanta Newline yang didefinisikan di Java seperti Environment.Newline di C #?


199

Di C # ada lingkungan properti statis. Garis baru yang berubah tergantung pada platform yang berjalan.

Apakah ada yang serupa di Jawa?


2
Techniczly Anda harus bertanya: Bagaimana Java mewakili properti newLine yang c # diimplementasikan sebagai Environment.Newline ketika itu dibuat
Peter

5
sekarang saya membaca ulang pernyataan saya, saya bertanya-tanya mengapa saya juga bertanya-tanya apa yang saya pikirkan
Peter

Jawaban:



88

Pada Java 7:

System.lineSeparator()

API Java: System.lineSeparator

Mengembalikan string pemisah garis yang bergantung pada sistem. Itu selalu mengembalikan nilai yang sama - nilai awal dari garis properti sistem.separator. Pada sistem UNIX, ia mengembalikan "\ n"; pada sistem Microsoft Windows ia mengembalikan "\ r \ n".


60

Ketahuilah bahwa properti ini tidak berguna seperti yang diperkirakan banyak orang. Hanya karena aplikasi Anda berjalan pada mesin Windows, misalnya, tidak berarti file yang sedang dibacanya akan menggunakan pemisah garis gaya Windows. Banyak halaman web berisi campuran "\ n" dan "\ r \ n", yang dibuat dari sumber yang berbeda. Saat Anda membaca teks sebagai serangkaian garis logis, Anda harus selalu mencari ketiga gaya pemisah garis utama: Windows ("\ r \ n"), Unix / Linux / OSX ("\ n") dan pra-OSX Mac ("\ r").

Saat Anda menulis teks, Anda harus lebih peduli dengan bagaimana file akan digunakan daripada platform apa yang Anda jalankan. Misalnya, jika Anda mengharapkan orang membaca file di Windows Notepad, Anda harus menggunakan "\ r \ n" karena hanya mengenali satu jenis pemisah.


Apakah pra-OSX Mac ("\ r") masih digunakan secara praktis? Atau apakah benar mengatakan bahwa itu bisa "dilupakan" dengan aman?
Pacerier

6
Baik, apakah mesin itu sendiri masih digunakan atau tidak, Anda harus mengasumsikan masih ada dokumen di luar sana yang ditulis pada pra-OSX Mac. Aku tahu itu menggoda untuk mempersingkat (?:\r?\n|\r)ke (?:\r?n), tapi tidak, saya tidak berpikir itu aman. Lagi (?:\r\n|[\r\n])pula saya lebih suka ; Saya tahu ini lebih banyak karakter, tetapi terlihat lebih rapi. : D Dan jika Anda tidak peduli berapa banyak pemisah garis yang Anda konsumsi, [\r\n]+berfungsi dengan baik.
Alan Moore
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.