黑马程序员技术交流社区
标题:
IO程序出问题了,求助
[打印本页]
作者:
征服
时间:
2014-4-1 17:22
标题:
IO程序出问题了,求助
本帖最后由 征服 于 2014-4-3 08:58 编辑
这是怎么回事?我的运行结果出现那么多问号?求解,谢谢!
import java.io.*;
class FileReaderDemo
{
public static void main(String[] args) throws IOException
{
FileWriter fw=new FileWriter("demo.txt");
fw.write("abcdef");
fw.close();
//创建一个文件读取流对象,和指定名称的文件相关联。
FileReader fr=new FileReader("demo.txt");
int ch1=0;
while((ch1=fr.read())!=0)
{
System.out.println("ch1="+(char)ch1);
}
fr.close();//关闭流
}
}
结果如下:
D:\Java\EditPlus\old files>java FileReaderDemo
ch1=a
ch1=b
ch1=c
ch1=d
ch1=e
ch1=f
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
ch1=?
作者:
阳春烟景
时间:
2014-4-1 17:39
你写入的是abcdef在demo.txt中,当你读数据的时候,你写的是ch1=fr.read())!=0,这是一个死循环,应该写成ch1=fr.read())!=-1,就会只读abcdef
作者:
亓华森
时间:
2014-4-1 17:52
楼上正解,java中,通过判断是否为-1,来判断是否已读到文件的结尾!这个知识点在毕老师的基础视频第18天的课程中有详细介绍~
作者:
征服
时间:
2014-4-2 13:11
谢谢!已经修改,得出正确结果
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2