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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Java Web Start". Траблы с чтением из .jar 
:(
    Опции темы
polosatij
  Дата 17.6.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

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



есть коТ:

Код

        public int getCountRows() {
            /*
             * final File file = new File(this.getOrdner().toString()); int
             * count = file.list(new XmlFileNameFilter()).length;
             */
            
            File file = null;
            int count = 0;

            try {
                /*StringBuilder path = new StringBuilder();
                path.append("jar:");
                path.append(ClassLoader.getSystemClassLoader().getResource("."));
                path.append("chess3.jar!/");
                */
                StringBuilder path = new StringBuilder("jar:http://localhost:8080/chessarts.com/chess_for_three/webstart/lib/chess3.jar!/");
                //String path = "jar:file:/c:/Programme/Apache Software Foundation/Tomcat 5.5/webapps/chessarts.com/chess_for_three/webstart/lib/chess3.jar!/";
                
                // Create a URL that refers to a jar file in the file system
                final URL url = new URL(path.toString());

                // Get the jar file
                JarURLConnection conn = (JarURLConnection) url.openConnection();

                // Create a URL that refers to an entry in the jar file
                StringBuilder pathURL = new StringBuilder();
                pathURL.append(path);
                pathURL.append("xml/tests/");
                pathURL.append(this.getName());
                final URL url2 = new URL(pathURL.toString());

                // Get the jar file
                conn = (JarURLConnection) url2.openConnection();

                // Get the jar entry
                JarEntry jarEntry = conn.getJarEntry();

                file = new File(jarEntry.toString());
                if (null != file) {
                    count = file.list(new XmlFileNameFilter()).length;
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return count;
        }


эта метода находиться в одном из .jar файле (он сертифицирован).
из еclipse всё работает.. из Java Web Start бросаеться NullPointerException в строке:

Код

    count = file.list(new XmlFileNameFilter()).length;
    // или вот так вот:
    count = file.list().length;


метод list возвращает NULL. и как я только уже не пытался, ничего у меня не выходит.. может у кого была такая проблема  smile  


--------------------
PM   Вверх
powerOn
Дата 17.6.2006, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Вероятно, file не является папкой. Поскольку метод list() именно в этом случае возвращает null 


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

PM MAIL   Вверх
polosatij
Дата 17.6.2006, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

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



хм.. скажи.. как объяснить такую фишку?

Код

            final String name = JTestAuswahlPanel.class.getClassLoader().getResource(this.getOrdner()).toString();
            final File file = new File(name);
            System.out.println(file.isDirectory());
            System.out.println(file.isFile());


xml/tests/bauer/
false  smile 
false  smile 

а что тогда если не файл и не папка???!
 


--------------------
PM   Вверх
powerOn
Дата 17.6.2006, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



 smile Тогда файла "xml/tests/bauer/" не существует.  


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

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.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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