'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。通常用的
但在java代码中 实际输入有区别
如:
System.out.println("aa"+"\r"+"dd");
System.out.println("aa"+"\n"+"dd");
输出结果为:
aa
bb
都可以实现换行功能
但是在实际io操作,用StringBuffer写文件的时候,在程序中这么写不能实现换行
因此,把“/n”换成System.getProperty("line.separator")就可以实现写文件自动换行了
附上代码如下:
package com.imocc.jdom;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class Write {
public static void main(String[] args) throws IOException {
System.out.println("写入文件开始--------");
// 创建文件
File file=new File("E:/root/sm.log");
// 判断文件否存在
if (!file.isDirectory()) {
file.createNewFile();
}else {
System.out.println("文件已存在");
}
// 创建输出流FileOutputStream对象out
FileOutputStream out=new FileOutputStream(file);
for (int i = 0; i < 100; i++) {
// 创建stringbuffer对象,进行字符串拼接
StringBuffer sb=new StringBuffer();
// 写入文件
sb.append("写入开始了"+i+"writing"+System.getProperty("line.separator"));
// 选择utf-8的编码形式写入
out.write(sb.toString().getBytes("UTF-8"));
}
// 关闭输出流
out.close();
}
}
结果如图: