2015-12-05 3 views
0

У меня есть приложение Java с Jbutton для выбора локального файла, а затем представляю файл с различными типами диаграмм. Я хочу, чтобы получить файл, возвращаемый JFileChooser и обработать его (разделение, добавить значения в некоторых списках ...)Получить значение файла из jfilechooser

Это JButton ActionListener:

JButton theButton = new JButton("Choose the file to represent"); 
theButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent event) { 
     int returnValue = fileChooser.showOpenDialog(null); 
     if (returnValue == JFileChooser.APPROVE_OPTION) { 
      theFile = fileChooser.getSelectedFile(); 
      ReadGCFile.getValue(theFile); 
     }  
} 

});   
desktopPane.add(theButton); 
theButton.setVisible(true); 
theButton.setBounds(20, 100, 250, 20); 
getContentPane().add(theButton); 

Здесь я хочу обработать файл:

public static void readGCList(List<String> gcArrayList, 
     List<String> gcStringList, List<String> gcDateList) 
     throws NumberFormatException, IOException, ParseException { 
    File newFile = null; 
    String line = ""; 
    String[] tokens = null; 
    FileReader fr = null; 
    BufferedReader bufReader = null; 
    try { 

     fr = new FileReader(GDRT.theFile); 
     bufReader = new BufferedReader(fr); 
     while ((line = bufReader.readLine()) != null) { 
      line = line.replace(",", "."); 
      tokens = line.split(";"); 

      gcDateList.add(tokens[0]); 
      gcStringList.add(tokens[1]); 
      gcArrayList.add(tokens[2]); 
      gcArrayList.add(tokens[3]); 
      gcArrayList.add(tokens[4]); 

     } 


    } catch (FileNotFoundException es) { 
     System.out.println("The file was not found."); 

    } catch (NullPointerException e) { 
     System.out.println("No files were chosen !"); 
    } 

    catch (IOException e) { 
     bufReader.close(); 
    } 

И я сделал метод GetValue, в котором я не знаю, что надеть:

public static void getValue(File myFile) { 
System.out.println(myFile.getName()); 
} 
+1

объяснить «выскочило» - может поделиться код, в котором вы добавляете эту кнопку на свой пользовательский интерфейс? – Jan

+0

Я подробно рассмотрел ниже. ty – DCalin

+0

Я отредактировал его. Ты можешь помочь мне с этим ? – DCalin

ответ

0

Рассмотрим способ, как это:

public void processFile(File newFile) { 
    try { 

     getValue(newFile); 
     FileReader fr = new FileReader(newFile); 
     BufferedReader bufReader = new BufferedReader(fr); 
     Object line; 
     while ((line = bufReader.readLine()) != null) { 
      line = line.replace(",", "."); 
      tokens = line.split(";"); 

      gcDateList.add(tokens[0]); 
      gcStringList.add(tokens[1]); 
      gcArrayList.add(tokens[2]); 
      gcArrayList.add(tokens[3]); 
      gcArrayList.add(tokens[4]); 

     } 
} 

это можно было бы назвать из вашего ActionListener:

int returnValue = fileChooser.showOpenDialog(null); 
    if (returnValue == JFileChooser.APPROVE_OPTION) { 
     theFile = fileChooser.getSelectedFile(); 
     processFile(theFile); 
    } 
+0

Спасибо. Еще одна вещь: мой метод processFile имеет 3 списка в качестве параметров. Как я могу изменить его таким образом? – DCalin

+0

Какие еще два параметра? Вы никогда не упоминали их раньше ... – Jan

+0

ОК жаль об этом. Я снова отредактировал сообщение – DCalin

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