黑马程序员技术交流社区
标题:
文件读取的问题
[打印本页]
作者:
学习代码
时间:
2014-3-29 16:49
标题:
文件读取的问题
import java.io.*;
class FileReaderDemo
{
public static void main(String[] args)throws Exception
{
FileReader fr = new FileReader("demo.java");
//int num= fr.read();
//System.out.println((char)num);
while(true)
{
int num1 = fr.read();
if(num1!=-1)
System.out.println((char)num1);
/*if(num1==-1)
break;
System.out.println((char)num1);*/
}
fr.close();//为什么这句话会报错啊
//如果把上面注释的代码打开的话,就可以,不理解
}
}
复制代码
谢谢
作者:
H-Deka
时间:
2014-3-29 16:51
/*if(num1==-1)
break;
System.out.println((char)num1);*/
没有这个会是个死循环,出不来的
作者:
凌慕枫
时间:
2014-3-29 16:57
没有抛出异常
public static void main(String[] args){
FileReader fr = null;
try{
fr = new FileReader("demo.java");
//int num= fr.read();
//System.out.println((char)num);
while(true)
{
int num1 = fr.read();
if(num1!=-1)
System.out.println((char)num1);
/*if(num1==-1)
break;
System.out.println((char)num1);*/
}
}catch(IOException e){
throw new RuntimeException("读取失败");
}finally{
try{
if(fr!=null){
fr.close();
}
}catch(IOException e){
throw new RuntimeException("读取关闭失败");
}
}
}
复制代码
作者:
学习代码
时间:
2014-3-29 16:59
H-Deka 发表于 2014-3-29 16:51
/*if(num1==-1)
break;
对的 确实出不来啊 没想到啊 谢谢
作者:
╰青青子佩ˊゝ
时间:
2014-3-29 23:37
两点提醒,希望能帮到你
class FileReaderDemo
{
public static void main(String[] args)throws Exception
{
FileReader fr = new FileReader("d:1.txt");
//int num= fr.read();
//System.out.println((char)num);
while(true)
{
int num1 = fr.read();
if(num1!=-1)
System.out.println((char)num1);
/*if(num1==-1)
break;
System.out.println((char)num1);*/
}
//1.你没发现上面while内是死循环嘛,程序一直在while内打转,停不下来,那么下面那句代码是读不到的,编译时不能通过.
//2.如果把上面注释的代码打开,就不是死循环了,当num1=-1的时候,程序执行跳出循环,执行fr.close()代码,这样编译执行都能通过
// fr.close();//为什么这句话会报错啊
//如果把上面注释的代码打开的话,就可以,不理解
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2