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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не открывается файл, получить файлы из пакета 
:(
    Опции темы
libricon
Дата 6.6.2009, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 2.10.2005
Где: estonia, tallinn

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



добрый день,  у меня возникла проблема с кодом

Код

                        Package pack = SportmanLoader.class.getPackage();
        System.out.println(pack.getName());
        String dirName = pack.getName().replace(".", File.separator);
        File dirFile = new File(dirName);
        System.out.println(dirFile.isDirectory());
        System.out.println(dirFile.getAbsolutePath());
        
        String[] files = dirFile.list();
        System.out.println(Arrays.deepToString(files));


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

цель этого кода в конке концов мне надо получить все файлы из данного пакета и потом найти в этих файлах все классы выполняющие интерфейс SportmanLoader

если кто знает, почему он не открывается .. помогите начинающему программисту smile

Добавлено через 10 минут и 5 секунд
Код

URL file = SportmanLoader.class.getResource(".");
        File dir = new File(file.toURI());
        System.out.println(dir.getAbsolutePath());
        System.out.println(dir.isDirectory());
        File[] filesInDir = dir.listFiles();
        System.out.println(Arrays.deepToString(filesInDir));



а вот этот код работает и выдаёт список файлов....  
кто-нибуть может обьяснить почему первый вариант не работал?  абсолютные пути файлов одинаковые....


PS!  кто бы теперь подсказал как загружать классы, проверять их на интерфейс и ещё специфический конструктор вызывать smile
PM MAIL ICQ Skype MSN   Вверх
math64
Дата 7.6.2009, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Работать с файлами - неправильно. Если программа находится в jar - файлов и каталогов не будет.
PM   Вверх
libricon
Дата 7.6.2009, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 2.10.2005
Где: estonia, tallinn

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



программа не в джар файле....


пока получилось вот так, работает 
Код
private Map<String, AthleteWriter> getWriters() throws URISyntaxException, ClassNotFoundException, InstantiationException, IllegalAccessException  {

        URL pack = AthleteWriter.class.getResource(".");
        File dir = new File(pack.toURI());
        String[] files = dir.list();
        Map<String, AthleteWriter> argVSclass = new TreeMap<String, AthleteWriter>();
        for (String file : files) {
            if (file.endsWith(".class")) {
                Class unknowClass = Class.forName(AthleteWriter.class.getPackage().getName() + '.'
                        + file.substring(0, file.length() - 6));
                if (isInterface(unknowClass, AthleteWriter.class.getSimpleName())) {
                    //System.out.println(unknowClass.getSimpleName());
                    AthleteWriter temp = (AthleteWriter) unknowClass.newInstance();
                    //System.out.println(temp.getArgum()+"  " + temp.getDescription());
                    argVSclass.put(temp.getArgum(), temp);
                }
            }
        }

        return argVSclass;

    }


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

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

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


 




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


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

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