2014-09-05 3 views
0

Я только что сделал файл-читатель на Java. Я буду использовать его для игры Hangman, теперь пользователь может выбрать словарь/словарь, который они хотят использовать.FileReader; выберите расширение файла

Он отлично работает, но когда пользователь должен выбрать файл, он может выбирать все типы файлов. Тем не менее, я хочу, чтобы они открывали только файлы .txt, чтобы обеспечить работу программы. Какой код мне нужно использовать, чтобы пользователь мог открывать только текстовые файлы?

Это метод чтения файлов я использую:

private static ArrayList readData(File someFile) 
{ 
    String data; 
    ArrayList<String> aStringArrayList = new ArrayList<String>(); 

    try  // men is verplicht een try block te gebruiken. 
     { 
      FileReader filereader = new FileReader(someFile.getAbsolutePath()); 
      JOptionPane.showMessageDialog(null, "Gekozen woordenlijst is: " 
              + someFile.getAbsolutePath()); 
      BufferedReader bufferedreader = new BufferedReader(filereader); 

      while((data = bufferedreader.readLine()) != null) 
      { 
       System.out.println("\nIngelezen data is " + data); 
       aStringArrayList.add(data); 
      } 
      filereader.close(); 
     } 
     catch (FileNotFoundException e) 
     { 
      JOptionPane.showMessageDialog(null, "Got an FileNotFoundException: " 
               + e.getMessage()); 
     } 
     catch (IOException e) 
     { 
      JOptionPane.showMessageDialog(null, "Got an IOException: " 
               + e.getMessage()); 
     } 
    return (aStringArrayList); 
} 
+5

FilenameExtensionFilter: http://docs.oracle.com/javase/8/docs/api/javax/swing/filechooser/FileNameExtensionFilter.html – ControlAltDel

+0

@ControlAltDel Я должен сказать, - если этот комментарий ваш не ответ, то я не понимаю вопроса. –

ответ

1

Попробуйте использовать JFileChooser с FileNameExtensionFilter.

Что-то вроде этого:

JFileChooser chooser = new JFileChooser(); 
FileNameExtensionFilter filter = new FileNameExtensionFilter("txt files", "txt"); 

chooser.setFileFilter(filter); 

int returnVal = chooser.showOpenDialog(parent); 
if(returnVal == JFileChooser.APPROVE_OPTION) { 
    // do your stuff here 
} 

родитель здесь быть вашим JFrame.

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