java 出现FileNotFoundException异常的具体情况排除

当我们不小心对目录当做文件操作时候,系统会抛出异常,具体异常信息如下:

Exception in thread "main" java.io.FileNotFoundException: C:\logs\flink-lib (拒绝访问。),这个异常信息相对说的有点笼统,有时候当我们没有权限操作某一文件时候也会报错:"拒绝访问",所以这个需要我们具体根据实际问题解决,看看到底是文件不存在还是没有权限!

报错代码如下:

		BufferedReader br =new BufferedReader(new FileReader(new File("C:\\logs\\dir"))); //注意dir是目录
		当把目录作为文件操作时候,报错:Exception in thread "main" java.io.FileNotFoundException: C:\logs\flink-lib (拒绝访问。)
		br.readLine(); //对目录操作


当我们操作一个不存在的文件时候,也会报FileNotFoundException异常,但是这个异常信息比较具体:

java.io.FileNotFoundException: C:\logs\flink-lib\java.txt (系统找不到指定的文件。)


异常代码如下:

		BufferedReader br =new BufferedReader(new FileReader(new File("C:\\logs\\flink-lib\\java.txt")));
		//当操作不存在的文件时候,报错:java.io.FileNotFoundException: C:\logs\flink-lib\java.txt (系统找不到指定的文件。)
		br.readLine();



总结:

对于这个FileNotFoundException异常其实没有什么困惑,但是容易被误解复杂化错误的就是第一条异常信息:Exception in thread "main" java.io.FileNotFoundException: C:\logs\flink-lib (拒绝访问。)。比如有时候在Windows下,文件在C盘中,有时候由于权限问题的确操作系统不允许我们访问,但不总是这样!所以当出现这个问题时候第一步还是排除一下File实例到底是对象还是目录!或者也可以使用Java Api判断一下!



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值