Загрузка файлов с использованием относительного пути в NetBeans


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 3

4 ответа:

В Netbeans этот файл нужно поместить в папку project, а не в папку src/package.

Вы должны указать полный путь к файлу или поместить файл в проект dir. Проект dir-это текущий каталог при запуске проекта.

Убедитесь, что ваш DBDriverInfo.свойства находятся на пути к классу. В соответствии с вашим кодом поместите файл свойств в пакет netbeans по умолчанию.

Каталог по умолчанию для класса File-это каталог, из которого вы начали выполнение основного класса. В случае этих IDE каталог по умолчанию будет вашим домашним каталогом проекта.

Чтобы лучше узнать каталог по умолчанию, выполните эти две строки из IDE. А потом положите туда ваше досье.

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