释放双眼,带上耳机,听听看~!
今天,简单讲讲如何使用StringBuffer实现换行。
这个很简单,
‘r’是回车,’n’是换行,前者使光标到行首,后者使光标下移一格。通常用的
但在java代码中 实际输入有区别
如:
System.out.println("aa"+"r"+"dd");
System.out.println("aa"+"n"+"dd");
输出结果为:
aa
bb
都可以实现换行功能
这个在界面上是使用”n”基本就可以,但是在读取,写入文件时就要注意。
将String写入到文件时,换行符有一些会被过滤掉,没有任何效果。
解决办法:
那是因为默认的情况下,界面上的换行时用的"n",这是LINUX和UNIX的换行符。在windows下换行符是"rn".
所以再将String对象写入到文件时,换行符应该把n写完整成rn
例1:
String s = "12443nkdjf";
//改成String s = "1244rnkdjf"; 输出结果一样
System.out.print(s);
输出结果是:
12443
kdjf
例2:String s = "12443nkdjf";
PrintStream ps = new PrintStream(".\"+ "testStringNextLine.txt");
ps.print(s);
在文件testStringNextLine.txt里的显示结果是:
12443kdjf
n符号直接被忽略
一旦将定义改成如下形式:
String s = "12443rnkdjf"; //注意多了r
显示结果将变成:
12443
kdjf
完整程序:
public static void main(String[] args) throws IOException {
String s = "dsfjks" + "n";
System.out.print(s);
StringBuffer sb = new StringBuffer("sdfkjds");
sb.append("rn"); sb.append("2323");
sb.append("rn"); sb.append("fjkdsl");
sb.append("rn"); //n和rn都一样,在在控制台输出正常换行
System.out.print(sb.toString());
File f = new File(".\"+ "testStringNextLine.txt");
f.createNewFile();
File f2 = new File(".\"+ "testStringNextLine2.txt");
f2.createNewFile(); try { //无论这里加几个n,PrintStream输出到文件的换行符都被过滤掉
PrintStream ps = new PrintStream(".\"+ "testStringNextLine.txt");
ps.print(sb.toString());
ps.print("rn");
ps.print("234");
ps.print("rn");
ps.close();
FileWriter fw = new FileWriter(f2);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(sb.toString());
bw.write("rn");
bw.write("rn");
String s2 = "djfkljwrn2323rn";
System.out.print(s2);
bw.write(s2);
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} }
这个只是把网上的资料整理了一下,大家有兴趣可以自己查找资料。
android StringBuffer实现换行就讲完了。
就这么简单。