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中存在例外情况。
答案 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());