try...catch的使用

本文详细介绍了如何使用FileReader、BufferedReader、FileInputStream三种方式从D盘读取文件,并通过try-catch结构处理可能发生的FileNotFoundException和IOException。代码示例清晰,易于理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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流异常");
}


}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值