try...catch的使用

使用FileReader类、BufferedReader类、FileInputStream类三种方式
从D盘下HelloWorld.java文件中读取全部信息并打印到控制台
异常处理使用try---catch关键字进行捕获并打印相关信息

package TestFile;



import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;




public class Test3 {
public static void main(String[] args)   {

FileInputStream fis;
//先new一个FileinputStream,然会系统报错之后选择try、catch就会自动捕抓错误
try {
fis = new FileInputStream("D:/HelloWorld.java");//捕抓出来的第一个错误
int i;
while((i=fis.read())!=-1){//捕抓出来的第二个错误
System.out.print((char)i);}
fis.close();  //Exception可以嵌套
} catch (FileNotFoundException e) {
System.out.println("找不到文件");
// TODO Auto-generated catch block
e.printStackTrace();

//当系统捕抓到第一个错误之后就再也不执行下面语句了。也就是第二个错误不捕抓。因为第一个错误里已经包含了第二个错误

} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("IO流异常");
e.printStackTrace();}
FileReader fw;
try {
fw = new FileReader("D:/HelloWorld.java");
int a;
while((a=fw.read())!=-1){
System.out.print((char)a);
}
fw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("找不到文件");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("IO流异常");
e.printStackTrace();
}
FileReader in;
try {
in = new FileReader( "D:/HelloWorld.java");
//定义BufferedReader之前要先定义一个Read文件,可以是FileReader也可以是InputStreamReader

BufferedReader fe = new BufferedReader(in);
int i;
while((i=fe.read())!=-1){
System.out.print((char)i);
}fe.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("找不到文件");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("IO流异常");
}


}
}

猜你喜欢

转载自blog.csdn.net/lia_pulaihuan/article/details/48448189