今天写一个java小程序,要从一个txt文件中读出数据,经过处理后保存到另一个txt文件中,总是出现文件输出不全的现象,搞了一个多点终于搞定。下面总结一下原因:
一:PrintWriter未清空缓冲区数据
解决方法:在输出语句后加上
sout.flush();
语句(sout为PrintWriter名)即可。
二、Scanner读取数据不全。
如果txt文件为utf-8格式,Scanner可能无法读取完整的txt数据,解决的办法为在声明中如下写法:
Scanner sc=new Scanner(new File("ms.txt"),"utf-8");
这样问题就解决了