当我们不小心对目录当做文件操作时候,系统会抛出异常,具体异常信息如下:
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判断一下!
当我们不小心对目录当做文件操作时候,系统会抛出异常,具体异常信息如下:Exception in thread "main" java.io.FileNotFoundException: C:\logs\flink-lib (拒绝访问。),这个异常信息相对说的有点笼统,有时候当我们没有权限操作某一文件时候也会报错:"拒绝访问",所以这个需要我们具体根据实际问题解决,看看到底是文件不存在还是没有权
(这段代码位于Src_exp2_3.
java
中)
public static String getValue(String key) throws IOException{
Properties pro = new Properties();
// here
FileReader in = new FileReader("pro.txt");
pro.load(in);
in.close();
$MODULE_WORKING_DIR$命令可以自动定位到当前项目目录。
注意当项目有不同模块(即对应根目录下的子文件夹)时,使用"src\\name.dat"相对路径保存时还是会报错,要用"modulename\\src\\name.dat"。
java
.io.
FileNotFoundException
:解决方法
运行如下代码会
出现
java
.io.
FileNotFoundException
:D:\IDEA%20Workspace\out\production\day04_JDBC\jdbc.properties (系统找不到指定的路径。)
```
java
public class test {
public static void main(String[] args) {
try {
来源:流浪舟 https://index.maliaoblog.cn
文章目录
异常
类的继承和分类
Java
7提供多捕获
异常
访问
异常
信息,
异常
跟踪栈finally关键字
异常
处理嵌套throws声明throw自定义
异常
异常
链
异常
处理规则
与C++、python,Ruby一样,
Java
也有一个
异常
处理机制,当程序
出现
异常
时,系统会自动生成一个Exception对象通知程序去处理。之所以这样设计目的在于使程序有更好的容错性和可读性,实现业务代码和错误处理代码的分离。比如:
//业务代码
}catch(.
其他还有很多
异常
,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于
异常
的全部说明,在api里都可以查阅。
算术
异常
类:ArithmeticExecption
空指针
异常
类:NullPointerException
类型强制转换
异常
:ClassCastException
数组负下标
异常
:NegativeArrayException
数组下标越界
异常
:ArrayIndexOutOfBoundsException
违背安全原则
异常
:SecturityException
文件已结束
异常
:EOFException
文件未找到
异常
:
FileNotFoundException
字符串转换为数字
异常
:NumberFormatException
操作数据库
异常
:SQLException
输入输出
异常
:IOException
方法未找到
异常
:NoSuchMethodException
java
.lang.AbstractMethodError 抽象方法错误。当应用试图调用抽象方法时抛出。
java
.lang.AssertionError 断言错。用来指示一个断言失败的情况。
java
.lang.ClassCircularityError 类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该
异常
。
java
.lang.ClassFormatError 类格式错误。当
Java
虚拟机试图从一个文件中读取
Java
类,而检测到该文件的内容不符合类的有效格式时抛出。
java
.lang.Error 错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java
.lang.ExceptionInInitializerError 初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了
异常
时抛出。静态初始化程序是指直接包含于类中的static语句段。
java
.lang.IllegalAccessError 违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该
异常
。
java
.lang.IncompatibleClassChangeError 不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该
异常
。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java
.lang.InstantiationError 实例化错误。当一个应用试图通过
Java
的new操作符构造一个抽象类或者接口时抛出该
异常
.
java
.lang.InternalError 内部错误。用于指示
Java
虚拟机发生了内部错误。
java
.lang.LinkageError 链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java
.lang.NoClassDefFoundError 未找到类定义错误。当
Java
虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java
.lang.NoSuchFieldError 域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java
.lang.NoSuchMethodError 方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
java
.lang.OutOfMemoryError 内存不足错误。当可用内存不足以让
Java
虚拟机分配给一个对象时抛出该错误。
java
.lang.StackOverflowError 堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java
.lang.ThreadDeath 线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java
.lang.UnknownError 未知错误。用于指示
Java
虚拟机发生了未知严重错误的情况。
java
.lang.UnsatisfiedLinkError 未满足的链接错误。当
Java
虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java
.lang.UnsupportedClassVersionError 不支持的类版本错误。当
Java
虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前
Java
@Test
public void test() throws
FileNotFoundException
{
ObjectMapper om = new ObjectMapper();
om.configure(Feature.WRITE_NUMBERS_AS_STRINGS, true);
om.configure(Feature.QUOTE_NON_NUMERIC_NUMBERS, true);
om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
om.configure(Deseria
一直在显示系统找不到指定的路径,而这错误也很明显地定位到GzipUtils工具类中,自己仔细看了下,感觉没有什么问题呀,检查了n多遍也没有发现问题. 具体报错的这行代码如下所示:
很明显问题就是出在new FileOutputStream()这里面,相信大家都清楚,字符输出流内的文件路径,如