Answers:
除了line.separator属性,如果您使用的是Java 1.5或更高版本和的String.format(或其他格式化方法),可以使用%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 ^^
有关更多详细信息,请参见Java 1.8 API for Formatter。
%
来自用户输入的内容,请不要使用它!
String.format(s + "%n")
很容易通过解决String.format("%s%n", s)
。将用户输入作为格式主体总是有风险的(与相同eval()
)。
Java 7现在有一个System.lineSeparator()
方法。
lineSeperator(int)
,该方法返回一些行分隔符,因为我经常发现自己一次使用2。
System.lineSeparator().repeat(5)
该公地郎库有一个可用的恒定场称为SystemUtils.LINE_SEPARATOR
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
上面的代码段将使用两个换行符分隔两个字符串,而与平台无关。
如果要使用BufferedWriter
实例写入文件,请使用该实例的newLine()
方法。它提供了独立于平台的方式来将新行写入文件中。
避免使用String + String等附加字符串,而应使用StringBuilder。
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
”之类的声明之前,请务必做指标。