Получение текста из банки и застрял

1

В настоящее время я начал программировать игровые площадки для настольных игр, которые могут загружать разные игры. Я храню эти игры в файле с именем config.txt, но у меня возникают проблемы с его доступом. Во-первых, я начал с моего любимого файлового подхода:

String fileAddress = "./resources/config.txt";
fis = new FileInputStream(fileAddress);
reader = new BufferedReader(new InputStreamReader(fis));

Но потом, когда я построил файл.jar, он перестал работать. По понятным причинам. Поэтому я обнаружил, что оглядываюсь, и я нашел рекомендацию использовать метод getResourceAsStream (String s). Поэтому я изменил свой код следующим образом:

String fileAddress = "./resources/config.txt";
InputStream toReturn=null;
toReturn = this.getClass().getClassLoader().getResourceAsStream(fileAddress);

Но здесь я застрял. Независимо от того, как я настраиваю файлAddress (проверенный./config.txt./resources/config.txt./resources/boardgames/config.txt и. /resources/boardgames/config.txt), и оба использования или исключения getClassLoader(), результат toReturn всегда равен NULL и в конечном итоге бросает NullPointerException очень скоро.

Далее следует расположение требуемого файла. Поскольку у меня недостаточно репутации, мне придется использовать ASCII в иерархии файлов. Оба config.txt являются допустимыми целями.

В файловой системе:

Boardgames
   src
   cache
   classes
   resources
      boardgames
         config.txt
      imgs
      config.txt

Внутри файла Jar

BoardGames.jar
    boardgames
       <class files>
       config.txt
    imgs
    META-INF
    config.txt

Поэтому мне понадобится помощь в исправлении кода, чтобы он правильно прочитал файл. Если бы вы могли включить советы о том, как получить ImageIcon из.png файлов, находящихся в подпапках imgs, так как я считаю, что столкнулся с аналогичной проблемой, как только я пройду фазу инициализации через config.txt.

Спасибо за твою помощь.

  • 0
    Почему точка (.)?
  • 0
    Привычка от Unix во время расшифровки. Это не работает даже без них (например, "/config.txt")
Показать ещё 4 комментария
Теги:
jar
text-files

1 ответ

1
Лучший ответ

спасибо @EJP и @immibis за помощь.

this.getClass().getResourceAsStream("boardgames/config.txt");

было решение, которое, наконец, привело меня в бег

Ещё вопросы

Сообщество Overcoder
Наверх
Меню