3
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

4 回答 4

5

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

于 2012-08-24T10:20:46.053 回答
0

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

于 2012-08-24T10:17:52.087 回答
0

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

于 2012-08-24T10:55:52.333 回答
0

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

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

File f = new File("DBDriverInfo.properties");
System.out.println(f.getAbsolutePath());
于 2012-08-24T11:42:38.727 回答