2014-10-15 8 views
0

Идея состоит в том, чтобы создать домашний экран, который загружает требуемую информацию из текстового файла. Приложение ищет файл, и если он не найден, он запрашивает путь к файлу.Проверьте файл перед загрузкой программы

до сих пор у меня есть этот код

BufferedReader br; 

    try{ 
     br = new BufferedReader(new FileReader(principal)); 
    }catch(FileNotFoundException e){ 
     while(!principal.contains(".INICIO")){ 
      JOptionPane.showMessageDialog(this, "Not a valid file paht", "error",JOptionPane.ERROR_MESSAGE); 
      JFileChooser archivo = new JFileChooser("Seleccione el archivo principal"); 
      principal = archivo.getSelectedFile().getPath(); 
     } 
    } 

После этого я хочу, чтобы программа попробовать еще раз с новым путем к файлу. Я думаю что-то вроде:

while(condition){ 
     try{ 
      br = new BufferedReader(new FileReader(principal)); 
     }catch(Exception e){ 
      //some code here 
     } 
    } 

но я не знаю, что такое «условие». Какие-либо предложения?

+0

Почему бы не использовать 'File # существует '? – MadProgrammer

+0

не уверен в этом, если файл не существует, он автоматически выдает исключение. И если файл действительно существует, он даже не попытается что-либо сделать. – KrackLocks

ответ

1

Это сводится к ряду рабочих потоков. Если вы заинтересованы только в курсе, если файл, который пользователь выбрал существует вы могли бы сделать что-то вроде ...

JFileChooser archivo = new JFileChooser("Seleccione el archivo principal"); 
int action = archivo.showOpenDialog(null); 
File principal = archivo.getSelectedFile(); 
while (action != JFileChooser.CACNEL_OPTION && !principal.exists()) { 
    JOptionPane.showMessageDialog(this, "Not a valid file paht", "error",JOptionPane.ERROR_MESSAGE); 
    action = archivo.showOpenDialog(null); 
    principal = archivo.getSelectedFile(); 
} 

if (!action == CACNEL_OPTION) { 
    // File reference should now be valid, open and read away... 
} 

Теперь, если вы хотите знать, если файл был действительным, вы должны прочитайте его. Об этом пункте, я хотел бы создать метод, который может подсказать пользователю для File и которые могли бы вернуть null если они выбрали Отменить, таким образом, вы можете лучше контролировать поток ...

+0

Это похоже на это. Спасибо. – KrackLocks

Смежные вопросы