黑马程序员技术交流社区
标题:
一个文本文件竟然这么多-1
[打印本页]
作者:
黑马晓志
时间:
2014-3-18 10:20
标题:
一个文本文件竟然这么多-1
随便找个文本文件试试下面代码,很简单
package com.xiaozhi.test;
import java.io.FileReader;
import java.io.PrintStream;
public class Test {
public static void main(String[] args) throws Exception {
FileReader fileReader=new FileReader("c:\\1.txt");
while(true)
{
System.out.println(fileReader.read());
}
}
}
复制代码
作者:
张贺
时间:
2014-3-18 10:24
无限循环当然可以有那么多的-1.InputStream和Reader抽象基类提供的read方法的返回值是从输入流中获取的字节或字符的个数,如果没有获取到则返回-1,然后结束读取操作!
作者:
Alexander
时间:
2014-3-18 10:46
你这是没有对文件是否到结尾做判断,当读取文件时,如果到了末尾会返回-1,所以一般读取都这样操作
FileReader fr = new FileReader("
c:\\1.txt")
int ch = -1;
//读到了末尾会返回-1,然后判断,不符合,退出循环
while((ch=fr.read) != -1) {
System.out.print(char(ch));
}
而你的程序直接System.out.println(fr.read());
而且还是死循环,到了文件末尾了一直返回-1
就一直打印-1,所以就成你那样了
作者:
我爱的是你爱我_
时间:
2014-3-18 15:03
一直唯真,
如果读到了末尾会返回-1,需要判断一下,记得要关闭流,节省资源
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2