我有一个StringBuilder
对象,
StringBuilder result = new StringBuilder();
result.append(someChar);
现在我想在StringBuilder
上添加一个换行符。我该怎么做?
result.append("/n");
不行。所以,我正在考虑使用Unicode编写换行符。这会有帮助吗?如果是这样,我该如何添加?
它应该是
r.append("\n");
但我建议你这样做,
r.append(System.getProperty("line.separator"));
System.getProperty("line.separator")
在java中为您提供依赖于系统的换行符。同样来自Java 7的是一种直接返回值的方法:System.lineSeparator()
另一个选择是使用Apache Commons StrBuilder,它具有StringBuilder中缺少的功能。
从版本3.6开始,StrBuilder已被弃用,而TextStringBuilder具有相同的功能
逃脱应该使用\
,而不是/
。
所以r.append('\n');
或r.append("\n");
将起作用(StringBuilder
重载了char
和String
类型的方法)。
您可以使用line.seperator
添加新行
我创建类似于StringBuidler的原始类,并可以通过调用方法appendLine(String str)来追加行。
public class StringBuilderPlus {
private StringBuilder sb;
public StringBuilderPlus(){
sb = new StringBuilder();
}
public void append(String str)
{
sb.append(str != null ? str : "");
}
public void appendLine(String str)
{
sb.append(str != null ? str : "").append(System.getProperty("line.separator"));
}
public String toString()
{
return sb.toString();
}
}
用法:
StringBuilderPlus sb = new StringBuilderPlus();
sb.appendLine("aaaaa");
sb.appendLine("bbbbb");
System.out.println(sb.toString());
安慰:
aaaaa
bbbbb
您还可以在String.format
中使用行分隔符(请参阅java.util.Formatter
),这也是平台无关的。
即:
result.append(String.format("%n", ""));
如果您需要添加更多行空间,只需使用:
result.append(String.format("%n%n", ""));
您还可以使用StringFormat
格式化整个字符串,最后使用换行符。
result.append(String.format("%10s%n%n", "This is my string."));
对于Android,使用此功能进行读写操作!
private void writeToFile(String message) {
try {
OutputStream outputStream = openFileOutput("todoList.txt",Context.MODE_PRIVATE);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
outputStreamWriter.write(message);
outputStreamWriter.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private String readFromFile() throws IOException {
String result = "";
InputStream inputStream = openFileInput("todoList.txt");
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String tempString = "";
StringBuilder stringBuilder = new StringBuilder();
while ( (tempString = bufferedReader.readLine()) != null ) {
stringBuilder.append(tempString);
stringBuilder.append("\n");
}
inputStream.close();
result = stringBuilder.toString();
}
return result;
}
这也适用于StringBuilder
result.append("<BR />");