Путь к текстовому файлу проекта Java NetBeans


У меня есть следующий код для чтения текстового файла.

public static void main(String[] args)
{
    try 
    {
    Scanner in = new Scanner(new FileReader("input.txt"));
    while(in.hasNext())
    {
        System.out.println(in.next());
    }
} 
catch (FileNotFoundException ex) 
{
    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}

Структура моего проекта настроена следующим образом:

build/ directory contains class
dist/  directory contains the jar file 
src/ directory contains source
input.txt the text file to read

Если я помещаю свой текстовый файл input.txt в каталог с именем test, который имеет тот же каталог, что и build, dist, и src, что должно входить в параметр filereader, чтобы я все еще мог найти этот файл?

2 10

2 ответа:

При запуске в среде IDE Netbeans рабочий каталог является корневым каталогом проекта, поэтому, чтобы ответить на ваш вопрос, "test/input.формат txt".

Однако обратите внимание, что, хотя это идеально подходит для тестирования кода, работа с относительными путями, подобными этому, в конечном (производственном) коде может быть сложнее. В этих случаях лучшим решением может быть упаковка файла в виде ресурса в jar и открытие его в виде потока ресурсов или, Конечно, работа с абсолютными путями.

Если вы знаете имя вашего подкаталога, просто используйте

Scannner in = new Scanner(new FileReader("test/input.txt"));