如何在 Java 中获得依赖于平台的换行符?我不能"\n"
到处使用。
Spoike
问问题
443499 次
9 回答
743
Java 7 现在有一个System.lineSeparator()
方法。
于 2012-06-07T18:05:42.250 回答
654
您可以使用
System.getProperty("line.separator");
获取行分隔符
于 2008-10-16T09:39:26.937 回答
374
除了 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。
于 2008-10-16T18:45:40.893 回答
43
如果您尝试将换行符写入文件,您可以简单地使用 BufferedWriter 的newLine()方法。
于 2008-10-16T18:49:15.550 回答
31
这也是可能的:String.format("%n")
.
或者String.format("%n").intern()
节省一些字节。
于 2013-04-25T14:48:48.980 回答
22
commons-lang库有一个可用的常量字段,称为SystemUtils.LINE_SEPARATOR
于 2012-03-28T16:33:54.407 回答
17
StringBuilder newLine=new StringBuilder();
newLine.append("abc");
newline.append(System.getProperty("line.separator"));
newline.append("def");
String output=newline.toString();
上面的代码片段将有两个由新行分隔的字符串,而与平台无关。
于 2015-09-29T11:20:31.210 回答
13
如果您正在使用实例写入文件,请使用该BufferedWriter
实例的newLine()
方法。它提供了一种独立于平台的方式来在文件中写入新行。
于 2012-01-20T12:24:21.707 回答
-4
避免使用 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( );
于 2012-12-05T08:53:13.207 回答