有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我正在尝试从一个文件中复制文本。txt文件到jtextarea,但我得到一个空指针异常

每次我试图读取.txt文件时,我都会得到一个NullPointerException。我查了所有的东西,但无论如何都找不到答案。 如果有人能告诉我我做错了什么,那就太好了

   public class fileClassOpen implements ActionListener{

    public void actionPerformed(ActionEvent e) {
        int dialog = chooser2.showOpenDialog(Other.this);
        if(dialog == JFileChooser.APPROVE_OPTION) {
            String path = chooser.getSelectedFile().getAbsolutePath();
            try {
                FileReader fw = new FileReader(path);
                BufferedReader br = new BufferedReader(fw);
                while(br.readLine() != null) {
                    txtArea.setText(br.readLine());
                }
            } catch (IOException e1) {
            }
        }
    }
}

共 (3) 个答案

  1. # 1 楼答案

    你正在打电话给比尔。readline()两次。因此,你一次只能读两行。也许,这就是为什么它会抛出NullPointerException,假设其他一切都正常。 我会这样做:

    String line = "";
    while ((line = br.readLine()) != null){
       txtArea.setText(line);
    }
    

    此外,在没有正确的catch语句的情况下,永远不要尝试吞下异常

  2. # 2 楼答案

    嘿,伙计们,很抱歉浪费了你们的时间,我刚刚意识到我访问了错误的变量。谢谢你的支持!:)

  3. # 3 楼答案

    尝试使用txtArea.append( br.readLine() );代替txtArea.setText(br.readLine()),因为textArea.append(str)会将给定的文本追加到文档的末尾。如果给定字符串为null或空,则不执行任何操作