Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 41
1

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

17.01.2018, 18:57. Просмотров 1594. Ответов 5
Метки нет (Все метки)


Есть статичный метод для чтения файла csv

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static List<Task> readTasks(String file)  {
         
         List<Task> list = new ArrayList<>();
         
         try(Scanner sc = new Scanner(new File(file))) {
            
             while(sc.hasNextLine()) {
                 String linia = sc.nextLine();
                 String[] pole = linia.split(";");
                 // System.out.println("pola: " + Arrays.toString(pola));
                 
            
                 Task p = new Task(pole[0], pole[1], pole[2], pole[3]);
                 list.add(p);
             }
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         }
         return list;
        }

При использовании jar файла за пределами IDE возникают проблемы чтения этого файла. Что нужно чтоб файл читался?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2018, 18:57
Ответы с готовыми решениями:

Чтение файла из jar
Подскажите пожалуйста как правильно читать файл из jar(что-то вроде дефолтных настроек) сейчас...

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

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

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

5
Супер-модератор
Эксперт PythonЭксперт Java
7369 / 3985 / 1492
Регистрация: 21.10.2017
Сообщений: 11,263
17.01.2018, 19:25 2
Путь к нему укажи
0
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 41
17.01.2018, 19:39  [ТС] 3
а как в таком случае обычно поступают если пользователи имеют разные системы? (разные директории)
0
11 / 11 / 1
Регистрация: 15.01.2018
Сообщений: 42
17.01.2018, 21:27 4
Цитата Сообщение от zplanner Посмотреть сообщение
Есть статичный метод для чтения файла csv

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static List<Task> readTasks(String file)  {
         
         List<Task> list = new ArrayList<>();
         
         try(Scanner sc = new Scanner(new File(file))) {
            
             while(sc.hasNextLine()) {
                 String linia = sc.nextLine();
                 String[] pole = linia.split(";");
                 // System.out.println("pola: " + Arrays.toString(pola));
                 
            
                 Task p = new Task(pole[0], pole[1], pole[2], pole[3]);
                 list.add(p);
             }
         } catch (FileNotFoundException e) {
             e.printStackTrace();
         }
         return list;
        }

При использовании jar файла за пределами IDE возникают проблемы чтения этого файла. Что нужно чтоб файл читался?
Есть два варианта:
1) Вы даёте пользователю ввести директорию.
2) Вы подключаете Windows/Linux/Mac OS(если это возможно) API и ищете файл по всему компьютеру.
3) Если файл - файл Вашей проги, то запихните его в src, и считайте его так:
Java
1
File f = getClass().getResource("/yourfile.txt");
P.S не умею гадать на кофейной гуще.

Добавлено через 7 минут
пример из моей "игры" на свинге:
https://ibb.co/e5HWU6

Добавлено через 1 минуту
UPD: файл при этом будет находиться в jar-нике проекта(если он в /src)

Добавлено через 47 секунд
UPD2: Я не умею считать до двух.
0
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 41
17.01.2018, 22:10  [ТС] 5
я только недавно перешел рубеж в "более чем два класса в програмке", и пробую раздуплиться в мавенских проектах
тут получилось что клас-утилитка считывает и записывает в csv файлик, и еще пару мелких классов. Так вот когда дошло дело до сборки получался джарник который не знал откуда взять файлик сsv.
Все оказалось довольно просто - создание джарник путем експорт и указанием используемых ресурсов (тобишь файлика)
в итогде имея в одной директории и джарник и файл = все работает =)

А если уж на то пошло то что даст такая строка? (файл прога не генирирует, только использует)
File f = getClass().getResource("/yourfile.txt");


Для такой программы это наверное хорошое решение
0
11 / 11 / 1
Регистрация: 15.01.2018
Сообщений: 42
18.01.2018, 13:04 6
Цитата Сообщение от zplanner Посмотреть сообщение
я только недавно перешел рубеж в "более чем два класса в програмке", и пробую раздуплиться в мавенских проектах
тут получилось что клас-утилитка считывает и записывает в csv файлик, и еще пару мелких классов. Так вот когда дошло дело до сборки получался джарник который не знал откуда взять файлик сsv.
Все оказалось довольно просто - создание джарник путем експорт и указанием используемых ресурсов (тобишь файлика)
в итогде имея в одной директории и джарник и файл = все работает =)

А если уж на то пошло то что даст такая строка? (файл прога не генирирует, только использует)
File f = getClass().getResource("/yourfile.txt");


Для такой программы это наверное хорошое решение
Данная строка читает файл относительно класса. То есть в каком package класс не лежал бы, если этот файл(yourfile.txt) лежит в /src оно его прочитает. Плюс в том, что файл будет не в левой папке, а в джарнике проекта(при враппе(конвертации) в .exe его не будет видно -> будут скрытые зависимости(надо будет скачать только экзешник, а не качать 1000 файлов дополнительно))
Крч нужно запихнуть файл, который нужен в src, и автоматом при закрытии проги он будет 1) в .exe/.jar файле 2) он будет сохраняться. Удобно очень
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2018, 13:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

Запуск jar-файла
Скажите плииз, почему напрочь не выполняется класс из jar-файла???? Вот, собственно содержание...

Запуск .Jar файла
добрый день программисты создал проект который заносит, считывает, удаляет данные из SQL. Когда...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.