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

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个回答

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

0

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

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

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

0

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


0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接