Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用JFileChooser读取文件_Java_File_Jfilechooser - Fatal编程技术网

Java 使用JFileChooser读取文件

Java 使用JFileChooser读取文件,java,file,jfilechooser,Java,File,Jfilechooser,我总是用这段代码得到一个NullPointerException open.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { modify = true; JFileChooser chooser = new JFileChooser(); file = chooser.getSelected

我总是用这段代码得到一个NullPointerException

open.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        modify = true;
        JFileChooser chooser = new JFileChooser();
        file = chooser.getSelectedFile();
        BufferedReader reader;
        StringBuilder sb = new StringBuilder();
        try {
            reader = new BufferedReader(new FileReader(file));
            String line = reader.readLine();
            while(line != null) {
                sb.append(line);
                sb.append(System.lineSeparator());
                line = reader.readLine();
            }
            text.setText(sb.toString());
        } 
        catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
        catch (IOException e1) {
            e1.printStackTrace();
        }
    }
});
reader=new BufferedReader(new FileReader(file))上的NullPointerException


如何重新组织代码?

您实际上没有选择该文件。因此,选择器在查询所选文件名时返回null

您应该在创建其实例后调用
chooser.showOpenDialog()
chooser.showSaveDialog()


您实际上没有选择该文件。因此,选择器在查询所选文件名时返回null

您应该在创建其实例后调用
chooser.showOpenDialog()
chooser.showSaveDialog()


为什么要问你的问题3次,LOL也许你应该先问,这样用户就可以先选择文件:-)站点要求我提供更多信息。为什么要问你的问题3次,LOL也许你应该先问,这样用户就可以先选择文件:-)站点要求我提供更多信息。