Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 04.09.2015
Сообщений: 8

Чтение файла из jar

11.05.2018, 12:15. Показов 1391. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста как правильно читать файл из jar(что-то вроде дефолтных настроек) сейчас использую такой способ

Java
1
2
3
4
5
6
7
8
9
10
11
  
зprivate static void initData(String fileName)
    {
        File file = new File(fileName);
        if (!file.exists())
        {
            System.out.printf("Файл %s не может быть открыт, использую стандартный %n",fileName);
            file = new File(FactoriaT2.class.getResource("resources/factory.db").getFile()); // это 70 строчка
        }
...
}
Выкидывает
java -jar factoria_t2.jar
Файл file:/home/user/Yandex.Disk/IdeaProjects/factoria_t2/out/artifacts/factoria_t2_jar/factoria_t2.jar!/ru/denh57/data/resources/factory.db не может быть открыт, использую стандартный
Exception in thread "main" java.lang.NullPointerException
at ru.denh57.FactoriaT2.initData(FactoriaT2 .java:70)
at ru.denh57.FactoriaT2.main(FactoriaT2.jav a:21)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.05.2018, 12:15
Ответы с готовыми решениями:

Чтение файла из jar
Есть статичный метод для чтения файла csv public static List<Task> readTasks(String file) { List<Task> list = new...

Чтение/создание файлов из jar файла
Всем привет, пытаюсь сделать логгирование указав нужные параметры в property файле. файл кладу в корень проекта. Код для его...

Чтение файлов в архиве .jar
Здравствуйте, моя задача такова: есть архив с расширением .jar на компьютере пользователя и мне надо выяснить, когда последний раз...

4
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.05.2018, 12:21
resources убери
0
0 / 0 / 0
Регистрация: 04.09.2015
Сообщений: 8
11.05.2018, 12:39  [ТС]
Имеете ввиду
Java
1
file = new File(FactoriaT2.class.getResource("/factory.db").getFile());
Если да то ошибка не меняется.
p.s. в первичном коде была опечатка
Java
1
file = new File(FactoriaT2.class.getResource("data/resources/factory.db").getFile());
Но все равно та же ошибка. В jar файле есть /ru/denh57/data/resources/factory.db
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.05.2018, 13:35
ну значит структура проекта кривая

Добавлено через 12 секунд
предлагаю начать использовать мавен, навпример
0
0 / 0 / 0
Регистрация: 04.09.2015
Сообщений: 8
14.05.2018, 10:38  [ТС]
Не смог разобраться как вытащить путь к ресурсу в стринг, но сделал немного по другому.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  private static void initData(String fileName)
    {
 
        File file = new File(fileName);
        BufferedReader bR = null;
        try
        {
       if (!file.exists())
        {
            System.out.printf("Файл %s не может быть открыт, использую стандартный %n",fileName);
            bR = new BufferedReader(new InputStreamReader(FactoriaT2.class.getClassLoader().getResourceAsStream(defPath)));
        }
        else {
           bR = new BufferedReader(new FileReader(file));
       }
Так будет читаться файл по пути defPath внутри jar.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.05.2018, 10:38
Помогаю со студенческими работами здесь

Выполнение jar-файла
При выполнении jar-файла все данные выводит в файл в одну строку, а при выполнении в Intelij Idea как положено. Почему так?

Создание jar файла
Как создать jar файл в intelij IDEA 14.0.3? Гуглить пробовал,поиском по форуму также пользовался. Нашел такой способ : File->Project...

Создание jar файла
Есть класс, использующий внешние библиотеки. Он компилируется и запускается, но у меня не получается создать jar файл. Файл манифеста: ...

Декомпиляция .jar файла
Доброго времени суток. После декомпиляции исполняемого jar-файла в каталоге не хватает файлов исходного кода. Пользовался fernflower,...

Запуск jar файла
Здравствуйте. Кто-нибудь может подсказать, что делать, если при попытке запуска jar файла (как двойным щелчком,так и из командной строки)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru