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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ресурсы в jar файлах. 
V
    Опции темы
powerOn
Дата 17.10.2005, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Здавтвуйте всем.
Подскажите, пожалуйста, можно ли поместить файл (например картинку) в jar архив с моей программой, а потом обрашаться к нему, как к "ресурсу"? ( PS: Это позволило бы проще транспортировать jar, и не таская еще кучу картинок.)
Если да, то как обратиться к ресурсу?




--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
LSD
Дата 17.10.2005, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Код
MyClass.class.getResource("/resources/images/Icon.gif"))



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
powerOn
Дата 17.10.2005, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Спасибо. Сечас попробую............
Да, кстати а вернется то Object ??


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
LSD
Дата 17.10.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Вернется URL, можно так же использовать getResourceAsStream() из которго читать с помощью ImageIO.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
powerOn
Дата 17.10.2005, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Благодарю. Все работает.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
LSD
Дата 17.10.2005, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Цитата(MoonCat @ 17.10.2005, 12:06)
Благодарю. Все работает.

Плиз smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
katala
Дата 14.5.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



у меня такой вопрос: есть аплет
вот его кусок кода 
Код

try {    
              FileInputStream inStream = new FileInputStream(Main.class.getResource("/res/menu.vm").getPath());//Main.class.getResource("/res/menu.vm").toString());    
              int inBytes = inStream.available();    
              byte inBuf[] = new byte[inBytes];    
              int bytesread = inStream.read(inBuf, 0, inBytes);    
              text.setText(new String(inBuf));    
            
          }    
            catch(Exception ex) {    
              text.setText(ex.toString());    
            }

то есть я пытаюсь отобразить содержимое файла. все вроде работает.но когда я делаю архив . и пишу html страничку
Код

<html>
<head>

<applet code=Main.class 
archive="trее.jar" width="500" height="500"
>
</applet>
</head>
</html>

появляется ошибка (в поле text)
java.security.AccessControlException: access denied (java.io.FilePermission file:\D:\eclipse\Новая%20папка\trrrr.jar!\res\menu.vm read).
в чем причена???? может путь по другому определять?????

Добавлено @ 20:44 
получается надо делать подпись??? но мне  надо всего лишь прочитать файлы из этого же архива. как поступить???? 
PM MAIL   Вверх
LSD
Дата 14.5.2006, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Вместо Main.class.getResource("/res/menu.vm") пиши Main.class.getResourceAsStream("/res/menu.vm"). 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
katala
Дата 14.5.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



может это лупый вопрос но  Main.class.getResourceAsStream("/res/menu.vm"). возвращает InputStream а FileInputStream inStream = new FileInputStream() принимает стринг.  
PM MAIL   Вверх
w1nd
Дата 14.5.2006, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вертилятор
***


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

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



Цитата(katala @ 14.5.2006,  21:20)
может это лупый вопрос но  Main.class.getResourceAsStream("/res/menu.vm"). возвращает InputStream а FileInputStream inStream = new FileInputStream() принимает стринг.

Так зачем вам FileInputStream, если поток у вас уже есть? 


--------------------
user posted imageuser posted image
PM MAIL ICQ   Вверх
katala
Дата 14.5.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



да верно. я сглупил. спасибо что помогли!  
PM MAIL   Вверх
katala
Дата 14.5.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



теперь появилась другая проблема: вроде загружается без проблем но почемуто только часть файла. в чем может быть причина????

Добавлено @ 23:28 
размер файла не большой - максимум 50кб 
PM MAIL   Вверх
LSD
Дата 14.5.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



Код приведи. 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Vitaly333
Дата 18.3.2009, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Никак не получается  прочитать файл (не картинку) из Jar - а. 
В корне Jar - архива лежит класс TestJar  и папка resources->files->1.txt

Код

public class TestJar {

    
    public static void main(String[] args) {
                
        File file; 
        
        //file = new File("resources\\files\\1.txt");
        //file = new File("resources/files/1.txt");
        file = new File(TestJar.class.getResource("/resources/files/1.txt").getPath());
        
        if (!file.exists()) System.out.println("file "+file.getName()+" undefined");
                    
    }

}


Вне Jar - Всё работает, а  в jar -е нет, как сделать правильно?

PM MAIL   Вверх
math64
Дата 18.3.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Можно повторить: зачем нужен File? Ресурс в jar - не файл. Открывай TestJar.class.getResourceAsStream("/resources/files/1.txt"), если ресуса нет получишь исключение.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

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


 




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


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

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