记一次idea使用相对路径导致的报FileNotFoundException异常的原因和解决方法

4 篇文章 0 订阅

错误是这个样子的↓

Exception in thread "main" java.io.FileNotFoundException: basic_code\prop.properties (系统找不到指定的路径。)
	at java.base/java.io.FileInputStream.open0(Native Method)
	at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:155)
	at java.base/java.io.FileInputStream.<init>(FileInputStream.java:110)
	at java.base/java.io.FileReader.<init>(FileReader.java:60)
	at com.yfx.prop.PropertiesDemo3.main(PropertiesDemo3.java:16)

就执行一个io读取文件的操作↓

package com.yfx.prop;

import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/*
将持久化到文件的内容读取到内存
 */
public class PropertiesDemo3 {
    public static void main(String[] args) throws IOException {
        //创建Prop集合
        Properties prop = new Properties();
        //使用load方法加载文件内容到集合(有种问不能用文件字节流,要用字符流)
        prop.load(new FileReader("basic_code\\prop.properties"));
        //获取prop的keyset集合
        Set<String> keySet = prop.stringPropertyNames();
        //遍历keyset通过key得到value
        for (String key : keySet) {
            //获取value
            String value = prop.getProperty(key);
            System.out.println(key + "=>" + value);
        }
    }
}

导致相对路径找不到文件的原因是因为当前执行类的工作目录不是当前项目路径↓

这个working directory要填当前项目的路径:D:\ideaProjects\exam\,而不是当前模块的路径D:\ideaProjects\exam\basic_code\,否则使用项目相对路径的地方就会报FileNotFoundException异常。

 

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值