黑马程序员技术交流社区
标题:
IO里的小问题
[打印本页]
作者:
程洋
时间:
2013-12-25 17:28
标题:
IO里的小问题
read()方法读一个文件(文件里只有abcd和换行符),
用write()方法写出来时文件里的换行符还存在吗?为什么不显示,
如果将读到数据添加到StringBuilder里面,在打印就可以看见\r\n了?
作者:
任亚俊
时间:
2013-12-25 21:57
本帖最后由 任亚俊 于 2013-12-25 21:59 编辑
File file=new File("D:\\IO.txt");
if(!file.exists()){
file.createNewFile();
}
FileWriter fw=new FileWriter(file);
char temp[]={'a','b','c','d','\n','\r'};
fw.write(temp);
fw.flush();
char buf[]=new char[64];
FileReader fr=new FileReader(file);
int i=0;
int ch;
while((ch=fr.read())!=-1){
buf[i++]=(char) ch;
//打印每个读到的字符,运行可以看出它读到了\n和\r,分别为10和13
System.out.println(ch);
}
System.out.println(buf);
复制代码
运行上面代码可以看出,可以打印出换行符的ASCII码10和13.
作者:
Softlmis
时间:
2013-12-27 13:33
其实是有的,只是Windows把它们作为特殊符号,隐藏了。你用鼠标拖动文字,应该可以出现他们是空白的。
作者:
75100313
时间:
2013-12-27 14:39
本帖最后由 75100313 于 2013-12-27 14:42 编辑
因为write()写的都是去除了\r\n的东西 不像read()那样 直接把换行省略了 我记得老师的视频里面讲过
所以 写的时候 必须明确指定 我要换行了 要不是不会换行的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2