Yanıtlar:
Line.separator özelliğine ek olarak, java 1.5 veya daha yenisini ve String.format (veya diğer biçimlendirme yöntemleri) kullanıyorsanız %n
,
Calendar c = ...;
String s = String.format("Duke's Birthday: %1$tm %1$te,%1$tY%n", c);
//Note `%n` at end of line ^^
String s2 = String.format("Use %%n as a platform independent newline.%n");
// %% becomes % ^^
// and `%n` becomes newline ^^
Daha fazla ayrıntı için Formatter için Java 1.8 API'sine bakın.
%
kullanıcı girdisinden içeriyorsa bunu kullanmayın !
String.format(s + "%n")
kolayca çözülebilir String.format("%s%n", s)
. Biçim gövdesi olarak kullanıcı girdilerinin dahil edilmesi her zaman risklidir (aynı şekilde eval()
).
Java 7'nin artık bir System.lineSeparator()
yöntemi var.
lineSeperator(int)
Sık sık kendimi bir kerede 2 kullanarak buldum gibi, hat ayırıcıları bir dizi döndüren aşırı yüklenmiş bir yöntem sağlamak için çok güzel olurdu .
String.join("", Collections.nCopies(5, System.lineSeparator()))
System.lineSeparator().repeat(5)
Bir dosyaya yeni satır yazmaya çalışıyorsanız, BufferedWriter'ın newLine () yöntemini kullanabilirsiniz.
Bu da mümkündür: String.format("%n")
.
Ya da String.format("%n").intern()
birkaç bayt kaydetmek için.
\r\n
Commons-lang kitaplığı adı verilen mevcut sabit alanı vardır SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
Yukarıdaki snippet'te, platformlardan bağımsız olarak yeni bir satırla ayrılmış iki dize olacaktır.
Bir dosyaya bir BufferedWriter
örnek yazıyorsanız newLine()
, o örneğin yöntemini kullanın . Yeni satırı bir dosyaya yazmak için platformdan bağımsız bir yol sağlar.
String + String vb. Kullanarak dizeler eklemekten kaçının, bunun yerine StringBuilder kullanın.
String separator = System.getProperty( "line.separator" );
StringBuilder lines = new StringBuilder( line1 );
lines.append( separator );
lines.append( line2 );
lines.append( separator );
String result = lines.toString( );
string + string
.