如何使用NetBeans中的相对路径加载文件

时间:2012-08-24 10:09:18

标签: java netbeans properties netbeans-7 fileinputstream

import java.io.*;
import java.util.Properties;

public class NewClass {
    public static void main(String args[]) throws IOException  {
        Properties p = new Properties();
        p.load(new FileInputStream("DBDriverInfo.properties"));
        String url=p.getProperty("url");
        String user=p.getProperty("username");
        String pass=p.getProperty("password");
        System.out.println(url+"\n"+user+"\n"+pass);
    }
}

虽然文件DBDriverInfo.properties文件位于同一目录中,但会引发以下异常。

Exception in thread "main" java.io.FileNotFoundException: DBDriverInfo.properties (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:97)
    at NewClass.main(NewClass.java:7)

在命令行界面中使用javac编译时,相对路径工作正常。 但NetBeans中存在例外情况。

4 个答案:

答案 0 :(得分:5)

在Netbeans中,您需要将该文件放在项目文件夹中,而不是放在src / package文件夹中。

答案 1 :(得分:0)

您应指定文件的完整路径或将文件放入项目目录。项目目录是运行项目时的当前目录。

答案 2 :(得分:0)

确保您的DBDriverInfo.properties位于CLASSPATH上。根据您的代码,将您的属性文件放在netbeans的默认包中。

答案 3 :(得分:0)

File类的默认目录是您开始执行主类的默认目录。对于这些IDE,默认目录将是您的项目主目录。

为了更好地了解您的默认目录,请从IDE执行这两行。然后将文件放在那里。

File f = new File("DBDriverInfo.properties");
System.out.println(f.getAbsolutePath());