Bagaimana cara mendapatkan baris baru yang bergantung pada platform di Jawa? Saya tidak bisa menggunakannya di "\n"
mana-mana.
java
cross-platform
newline
eol
Spoike
sumber
sumber
Jawaban:
Selain properti line.separator, jika Anda menggunakan java 1.5 atau lebih baru dan String.format (atau metode pemformatan lainnya ) Anda dapat menggunakan
%n
seperti diLihat Java 1.8 API untuk Formatter untuk lebih jelasnya.
sumber
%
dari input pengguna!String.format(s + "%n")
mudah dipecahkan olehString.format("%s%n", s)
. Itu selalu berisiko untuk melibatkan input pengguna sebagai format tubuh (dengan cara yang sama sepertieval()
).Java 7 sekarang memiliki
System.lineSeparator()
metode.sumber
lineSeperator(int)
yang mengembalikan beberapa pemisah baris, karena saya sering menemukan diri saya menggunakan 2 sekaligus.String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Kamu bisa menggunakan
untuk mendapatkan pemisah garis
sumber
System.lineSeparator()
detail Java 7 jadi di sini ada jawaban pasti untuk pertanyaan ini?Jika Anda mencoba menulis baris baru ke file, Anda bisa menggunakan metode BufferedWriter ()
sumber
Hal ini juga mungkin:
String.format("%n")
.Atau
String.format("%n").intern()
untuk menyimpan beberapa byte.sumber
notepad
bukan alat yang tepat untuk melihat konten file. Gunakanhexdump
atauod
.\r\n
The commons-lang perpustakaan memiliki medan konstan yang tersedia disebut SystemUtils.LINE_SEPARATOR
sumber
Cuplikan di atas akan memiliki dua string yang dipisahkan oleh baris baru terlepas dari platform.
sumber
Jika Anda menulis ke file, menggunakan
BufferedWriter
instance, gunakannewLine()
metode instance itu. Ini menyediakan cara bebas platform untuk menulis baris baru dalam file.sumber
Hindari menambahkan string menggunakan String + String dll, gunakan StringBuilder sebagai gantinya.
sumber
string + string
".