Достаточно просто, я пытаюсь прочитать текстовый файл, скомпилированный в выполняемом jar-файле.
, чтобы структура файла выглядела примерно так
test.jar
-main.class
-META.INF
- MAINFEST.MF
-списки
- readfrom.txt
Я посмотрел вокруг, увидел, что у кого-то была похожая проблема, Чтение файла в JAR с использованием Relative Path Я попытался это сделать, но получил ошибку. Вот то, что я адаптировал из него
List<String> testList = new ArrayList<>();
try {
InputStream configStream = getClass().getResourceAsStream("lists\\readfrom.txt");
BufferedReader configReader = new BufferedReader(new InputStreamReader(configStream, "UTF-8"));
File file = new File(String.valueOf(configReader));
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
testList.add(scanner.nextLine());
}
scanner.close();
}
Я запустил это и получил ошибку
java.io.FileNotFoundException: java.io.BufferedReader@4cf57088 (The system cannot find the file specified)
Есть что-то, что я пропускаю или это неправильный подход?
Это то, что у меня есть до сих пор
List<String> testList = new ArrayList<>();
try {
//what ever needs to happen
File file = new File(filepath);
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
testList.add(scanner.nextLine());
}
scanner.close();
}
Я просто хочу, чтобы это прочитало файл и добавило каждую строку как новый элемент в список.