如何在Java中获得一个依赖于平台的换行符?我不能到处都用“\n”。


当前回答

String.format("%n")也是可能的。

或者String.format("%n").intern()来节省一些字节。

其他回答

除了行。如果您使用的是java 1.5或更高版本,则使用String. separator属性。格式(或其他格式化方法),您可以使用%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   ^^

有关更多细节,请参阅用于Formatter的Java 1.8 API。

common -lang库有一个名为SystemUtils的常量字段。LINE_SEPARATOR

避免使用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( );

你可以使用

System.getProperty("line.separator");

得到行分隔符

StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();

上面的代码段将有两个字符串,由新行分隔,与平台无关。