Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как правильно подключать ресурсы 
:(
    Опции темы
x8m6
Дата 22.7.2010, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Есть проект с такой структурой:
-bin
-src
-resources
  -files
     -test.txt

В classpath добавил папку resources. В коде обращаюсь к фаилу test.txt по отн. пути "files/test.txt". Но при выполнении программы фаил не находится. Что не так? Как вообще правильно подключать ресурсы и обращатся к ним из кода программы?
PM MAIL   Вверх
GZep
Дата 23.7.2010, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


участник Винграда
***


Профиль
Группа: Завсегдатай
Сообщений: 1528
Регистрация: 7.7.2006
Где: Москва

Репутация: нет
Всего: 32



Цитата(x8m6 @  22.7.2010,  22:54 Найти цитируемый пост)
В classpath добавил папку resources

это же classpath smile не txtpath


--------------------
user posted imageuser posted image
PM MAIL WWW ICQ Skype GTalk   Вверх
ki6opr
Дата 23.7.2010, 05:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 20.12.2006

Репутация: нет
Всего: нет



MyClass.class.getResourceAsStream("путь к ресурсу") 
или
MyClass.class.getResource("путь к ресурсу") 
PM MAIL ICQ   Вверх
Skipy
Дата 23.7.2010, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 6
Всего: 16



Причем если напишете files/test.txt - будет считаться, что это путь относительно пакета текущего класса. А если /files/test.txt - это абсолютный путь.


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
x8m6
Дата 23.7.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Но, а как же все таки загружать ресурсы не через class.getResourse() а напрямую,
Код

String filePath = "/files/test.txt"; // что тут написать?
File file = new File(filePath);



PM MAIL   Вверх
jk1
Дата 23.7.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

что тут написать?

Абсолютный путь, либо относительный от текущей директории. Если хотите ссылаться на ресурсы относительно расположения ваших классов - см. посты выше.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
x8m6
Дата 23.7.2010, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Цитата

Абсолютный путь, либо относительный от текущей директории. Если хотите ссылаться на ресурсы относительно расположения ваших классов - см. посты выше. 

Я хочу ссылаться отн. папки resources. 
PM MAIL   Вверх
Kircul
Дата 23.7.2010, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 20.2.2007

Репутация: 6
Всего: 7



Цитата(x8m6 @  23.7.2010,  12:45 Найти цитируемый пост)
Я хочу ссылаться отн. папки resources.  

В итоге проект будет рано или поздно собран в jar (я так понимаю это не веб-приложение), стоит задуматься о том как данные ресурсы будут располагаться в собранном проекте.
PM   Вверх
Skipy
Дата 23.7.2010, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 487
Регистрация: 24.8.2006
Где: Москва, Россия

Репутация: 6
Всего: 16



Цитата(x8m6 @ 23.7.2010,  13:45)
Я хочу ссылаться отн. папки resources.

Добавьте ее в classpath и по абсолютным путям - /files/test.txt. Тогда при сборке jar не придется менять код, если jar собран правильно (всё, что лежит в resources, пойдет в корень).


--------------------
С уважением,
Евгений aka Skipy
www.skipy.ru
PM MAIL WWW ICQ   Вверх
x8m6
Дата 23.7.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Цитата

Добавьте ее в classpath и по абсолютным путям - /files/test.txt. 

Ну я так и сделал. Фаил все равно не видит!
PM MAIL   Вверх
jk1
Дата 23.7.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



а если так?
Код

File file = new File("./resources/files/test.txt");



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
x8m6
Дата 28.7.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Цитата

а если так?

находит. Так же находит по такому отн. пути:
Код

File file = new File("resources/files/test.txt");


Но мне нужно сделать отн. папки resources, т.е. "files/test.txt" 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.