您的位置:首页 > 移动开发 > Android开发

android StringBuffer实现换行

2017-11-02 08:37 363 查看
今天,简单讲讲如何使用StringBuffer实现换行。这个很简单,'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的但在java代码中 实际输入有区别如:System.out.println("aa"+"\r"+"dd");System.out.println("aa"+"\n"+"dd");输出结果为:aabb都可以实现换行功能这个在界面上是使用"\n"基本就可以,但是在读取,写入文件时就要注意。将String写入到文件时,换行符有一些会被过滤掉,没有任何效果。解决办法:
那是因为默认的情况下,界面上的换行时用的"\n",这是LINUX和UNIX的换行符。在windows下换行符是"\r\n".
所以再将String对象写入到文件时,换行符应该把\n写完整成\r\n
例1:
Strings = "12443\nkdjf";
//改成String s = "1244\r\nkdjf";      输出结果一样
System.out.print(s);
输出结果是:
12443
kdjf
例2:
String s = "12443\nkdjf";
PrintStream ps = new PrintStream(".\\"+ "testStringNextLine.txt");ps.print(s);在文件testStringNextLine.txt里的显示结果是:
12443kdjf
\n符号直接被忽略
一旦将定义改成如下形式:
String s = "12443\r\nkdjf";   //注意多了\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("\r\n");  sb.append("2323");sb.append("\r\n");  sb.append("fjkdsl");sb.append("\r\n");  //\n和\r\n都一样,在在控制台输出正常换行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("\r\n");ps.print("234");ps.print("\r\n");ps.close();FileWriter fw = new FileWriter(f2);BufferedWriter bw = new BufferedWriter(fw);bw.write(sb.toString());bw.write("\r\n");bw.write("\r\n");String s2 = "djfkljw\r\n2323\r\n";System.out.print(s2);bw.write(s2);bw.close();} catch (FileNotFoundException e) {e.printStackTrace();}  }
这个只是把网上的资料整理了一下,大家有兴趣可以自己查找资料。android StringBuffer实现换行就讲完了。就这么简单。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息