Java使用文件选择器从csv文件中读取

时间:2014-05-22 16:37:09

标签: java csv jfilechooser

我有我的代码

import java.io .*;
import java.util.Arrays;

public class Inputtheta {
public static void main (String [] arg) throws Exception{
    BufferedReader CSVFile = new BufferedReader (new FileReader         ("/Users/Carolina/Documents/IST/AMC/init.csv"));
    String dataRow = CSVFile.readLine();


    while (dataRow != null && !dataRow.isEmpty()){
        String [] dataArray = dataRow.split (",");
        double[] doubleArray =new double[dataArray.length];
        int i=0;
        while (i< dataArray.length ) {
        doubleArray[i]= Double.parseDouble(dataArray[i]);
        i++; 
        }
        System.out.println(Arrays.toString(doubleArray));
        dataRow = CSVFile . readLine ();
        }
     CSVFile.close ();
      }

}

从我直接询问的文件中读取,并将其数据保存到字符串中。我的问题是,如何直接放置该文件,我如何包含Filechooser? 我已经设法在我的GUI中打开文件,但我想知道如何在上面的代码中实际使用这个文件。

 public void actionPerformed(ActionEvent e) {

    //Handle open button action.
    if (e.getSource() == openButton) {
        int returnVal = fc.showOpenDialog(Escolherficheiros.this);

        if (returnVal == JFileChooser.APPROVE_OPTION) {
            File file = fc.getSelectedFile();
            //This is where a real application would open the file.
            log.append("Opening: " + file.getName() + "." + newline);
        } else {
            log.append("Open command cancelled by user." + newline);
        }
        log.setCaretPosition(log.getDocument().getLength());


    } 
}

1 个答案:

答案 0 :(得分:1)

[注意:没有尝试编译或运行你的代码]

如果只想让JFC弹出而没有任何其他元素,可以将null传递给JFC.showOpenDialog()。由于您将在没有任何其他swing / awt元素的情况下启动它,因此它不会在actionPerformed方法中。

我会使用像

这样的东西
private static File getFile(){
    JFileChooser fc = new JFileChooser();
    File file = null;
    int returnVal = fc.showOpenDialog(null);

    if (returnVal == JFileChooser.APPROVE_OPTION) {
        file = fc.getSelectedFile();  
    } 
    return file;
}

并从您的main方法调用它。