Рядом находится файл runnable jar и файл data.txt
. data.txt
может изменяться динамически. Программа должна прочитать содержимое этого файла. Моя первая попытка открыть файл не работает:Упростите открытие файла в той же папке, что и .jar
new InputStreamReader(getClass().getResourceAsStream("/data.txt"), "UTF-8");
я пришел к следующему решению, но это сложно и немного неловко:
new InputStreamReader(new FileInputStream(new File(getClass().getProtectionDomain().getCodeSource().getLocation().getPath()).getParent() + "/data.txt"), "UTF-8");
Трудно понять, что здесь.
Я попробовал new File("./data.txt")
и NPE был выброшен.
Как открыть файл data.txt
файл в той же папке, что и .jar-файл, но более читаемым способом?
I подумайте, что решение подробно описано здесь - http://stackoverflow.com/que stions/8775303/read-properties-file-outside-jar-file –
Во-первых, не пишите длинноцепочечные заявления о полимерах, особенно если вы не знаете, что делаете. Их невозможно отладить. –
@HotLicks, на самом деле, я знаю, что делает этот конкретный оператор. Но нужно время понять для другого человека или даже для меня через некоторое время. Вот почему мне нужно лучшее решение :) – Dragon