java.io.FileNotFoundException - 无法读取我的属性文件

时间:2014-04-29 12:54:24

标签: eclipse filenotfoundexception fileinputstream

Eclipse / Linux - Java Web应用程序。

我在项目中添加了一个名为dao.properties的文件。我把它放在一个包中:com.cdp.dao。我使用此文件的类在同一个包中。 当我尝试加载它时,我有一个

java.io.FileNotFoundException 
/myproject/src/com/cdp/dao/dao.properties (No such file or directory) OR 
dao.properties (No such file or directory)

这是我的代码:

Properties prop;
FileInputStream fis;
File file = new File("/myproject/src/com/cdp/dao/dao.properties");
//File file = new File("dao.properties"); doesn't work either
try {

    prop    = new Properties();
    fis = new FileInputStream(file);
    prop.load(fis);         
    dbUrl   = prop.getProperty("dbUrl");
    user    = prop.getProperty("user");
    pwd     = prop.getProperty("pwd");
    driver  = prop.getProperty("driver");
    fis.close();
} catch (FileNotFoundException e) {         
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:1)

使用

this.getClass().getResourceAsStream("dao.properties"); 

加载属性文件

答案 1 :(得分:0)

从Class开始,路径相对于类的包,除非

你包含一个前导斜杠,所以如果你不想使用当前包,

包括这样的斜杠:

InputStream in = this.getClass().getResourceAsStream("/dir/SomeTextFile.txt");

但如果您需要使用类路径,请使用下面的文件名

InputStream in = this.getClass().getResourceAsStream("dao.properties");