【问题标题】:I am trying to copy text froma .txt file to a jtextarea but i get a null pointer exception我正在尝试将文本从 .txt 文件复制到 jtextarea 但出现空指针异常
【发布时间】:2018-09-10 04:52:18
【问题描述】:

每次我尝试读取.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) {
            }
        }
    }
}

【问题讨论】:

  • 能否请您发布错误堆栈跟踪?
  • chooserchooser2 的关系是什么,除了 .... 哎呀!您还想附加到文本区域。
  • catch (IOException e1) { } 从不默默吞下异常
  • 1) 为了尽快获得更好的帮助,请发帖 minimal reproducible exampleShort, Self Contained, Correct Example。 2)String path = chooser.getSelectedFile().getAbsolutePath(); .. FileReader fw = new FileReader(path); 最好是.. FileReader fw = new FileReader(chooser.getSelectedFile());。选择器已经提供了File。不要把它转换成String 路径。 3)一旦代码建立阅读器,只需JTextComponent.read(Reader,Object) 4)..
  • .. 4) 正如@ScaryWombat 所提到的,从不只是捕获并忽略异常。至少,拨打e1.printStackTrace();

标签: java swing nullpointerexception jtextarea


【解决方案1】:

您正在调用 br.readline() 两次。因此,您最终一次阅读两行。也许,这就是为什么它抛出 NullPointerException 假设其他一切正常。 我会这样做:

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

另外,如果没有适当的 catch 语句,切勿尝试吞下异常。

【讨论】:

  • 最后文本区域内容为txt文件的最后一行。使用append()将整个txt文件添加到textarea。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    大家好,很抱歉浪费了您的时间,我刚刚意识到我访问了错误的变量。感谢您的支持! :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多