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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сравнение имени файла со списком каталогов, файлов, неверно работает 
V
    Опции темы
Иван Человеков
  Дата 28.10.2006, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня 2 вопроса по этому коду:
1. Почему получая спикок каталогов и файлов в объекте f, я ненахожу файла "ini.xml". Стринги не верно стравниваются... smile  Хотя в цикле дебагер показывает, что имя данного файла присутствует..

2. Почему в блоке finally переменной in уже несуществует? Почему я не могу вызвать метод in.close? Приходится закрывать в блоке try{}, хотя ведь не факт, что он отработает до конца. Насколько неверно её не закрывать вообще?

Код
class Nastroi{
    Nastroi(String s){
        String curDir=s; //Принимаем текущий каталог приложения

        try{
            try
            {   FileInputStream in;
                File f=new File(curDir);
                String strList[]=f.list();
                for (String strFile:strList){
                    if (strFile=="ini.xml"){ //Почему здесь имя файла не находит в списке файлов 
                        File fi=new File(curDir+strFile);
                        if (!fi.isDirectory()){
                            in =new FileInputStream(f);
                            prefer.importPreferences(in);
                            in.close();
                        }
                    }
                }
            }finally{
             //  in.close;   //Почему здесь переменная как бы уже не существует?
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    private final Preferences prefer=Preferences.userRoot().node("/by/Djordano_Bruno/CoppyTo");
}



Спасибо.  smile 

Это сообщение отредактировал(а) Egorich - 28.10.2006, 08:08
PM ICQ   Вверх
powerOn
Дата 28.10.2006, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(Egorich @  28.10.2006,  09:06 Найти цитируемый пост)
if (strFile=="ini.xml")

Несколькими постами ранее обсуждалось, что строки так не сравниваются.


Цитата(Egorich @  28.10.2006,  09:06 Найти цитируемый пост)
 }finally{
             //  in.close;   //Почему здесь переменная как бы уже не существует?
            }

Да не существует. Потому что объявлена она в другом блоке и область видимости у неё, соответственно, другая. Если хочешь чтобы ссылка in была видна и в блоке finally, то вынеси её в локальные переменные метода,

Код

 Nastroi(String s){
        String curDir=s; //Принимаем текущий каталог приложения
        FileInputStream in = null;
        try{
            try
            {   
                File f=new File(curDir);
                String strList[]=f.list();
                for (String strFile:strList){
                    if (strFile=="ini.xml"){ //Почему здесь имя файла не находит в списке файлов 
                        File fi=new File(curDir+strFile);
                        if (!fi.isDirectory()){
                            in =new FileInputStream(f);
                            prefer.importPreferences(in);
                            in.close();
                        }
                    }
                }
            }finally{
              in.close;   
        }catch (Exception e){
            e.printStackTrace();
        }
    }



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

PM MAIL   Вверх
Иван Человеков
Дата 28.10.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



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

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

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


 




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


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

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