Craftsman98 2019-10-21 15:25 采纳率: 0%
浏览 5807

FileInputStream找不到文件异常(FileNotFoundException)

我的配置文件放在src目录下,名字叫做jdbc.properties,读取配置文件的时候使用的代码是InputStream inputStream = new FileInputStream("jdbc.properties");但是当我运行的时候报错 java.io.FileNotFoundException: jdbc.properties (系统找不到指定的文件。)

从网上找了下问题,可能是我的相对路径不对,遂改为下面代码这样。 新建一个工程测试时发现这样是可以读取到配置文件的。但是运行这个程序的时候依然报错java.io.FileNotFoundException: jdbc.properties (系统找不到指定的文件。)

我的路径写错了吗?可是我已经修改了文件的名字为set.properties,就算路径有错但为什么报错的时候还是说找不到jdbc.properties?

我是用的是intellij IDEA,这个是个web项目,使用的tomcat服务器,非常感谢解答!

public class JDBCUtil {

    private static String driverClass;
    private static String url;
    private static String name;
    private static String password;

    private JDBCUtil() {
    }

    static {
        try {
            Properties properties = new Properties();
            InputStream inputStream = new FileInputStream("./src/set.properties");

            properties.load(inputStream);

            driverClass = properties.getProperty("driverClass");
            url = properties.getProperty("url");
            name = properties.getProperty("name");
            password = properties.getProperty("password");




        } catch (Exception e) {
            e.printStackTrace();
        }

    }

图片说明

  • 写回答

4条回答 默认 最新

  • 毕小宝 博客专家认证 2019-10-21 16:01
    关注

    文件路径,你把 properties 放在 src 目录下了,那么它会被编译放到 classes 类路径下的。就需要通过类路径的方式获取。
    这里看起来是 web 应用,set.properties 会被编译到类路径下的。

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制