Прежде всего, структура моего проекта:
resources
- config.properties
src
- Main.java
- Filter.java
- module
- test.txt
Теперь я просто хочу вызвать метод, который возвращает мне все имена файлов / файлов внутри модуля dir (как, например, «test.txt»), этот код работает внутри моей IDE (eclipse):
public class Filter {
public File[] finder(String dirname) {
InputStream is = getClass().getClassLoader().getResourceAsStream("module");
try {
BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
System.out.println(br.readLine());
// in IDE: prints "test.txt"
// as a jar: prints "null"
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
Внутри моей IDE его печать "test.txt",
но не раз я компилировал проект в файл jar. После выполнения его внутри терминала с помощью «java -jar Untitled.jar» он просто печатает ноль.