fileinputStream问题

李哈哈 2012-07-31 06:13:58
import java.io.*;

public class TestFileInputStream {
public static void main(String[] args){
int b = 0;
FileInputStream in = null;
try{
in = new FileInputStream("D:\\JAVA1\\TestFileInputStream.java");
}
catch(FileNotFoundException e){
System.out.println("指定文件不存在");
System.exit(-1);
}

try{
long num = 0;
while((b=in.read())!=1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println();
System.out.println("一共读取了"+num+"个字节");
}
catch(IOException e1){
System.out.println("错误");
System.exit(-1);
}
}
}


该程序在dos里面一运行就出现死循环,一直出问号。哪位大侠解释下
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
李哈哈 2012-07-31
  • 打赏
  • 举报
回复
谢谢各位了,不过1楼手快,分只能给他了,
李哈哈 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

while((b=in.read())!=-1){
[/Quote]

谢了 这种错还真不好找
wwwcomcn123 2012-07-31
  • 打赏
  • 举报
回复
楼主得细心啊!!
-1表示读到了结尾!
xu200074212 2012-07-31
  • 打赏
  • 举报
回复
b=in.read())!=1
死循环。流读完会返回-1,改成b=in.read())!=-1 。这是死循环的原因。
若鱼1919 2012-07-31
  • 打赏
  • 举报
回复
while((b=in.read())!=-1){

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧