Я пытаюсь скопировать текст из файла .txt в jtextarea, но я получаю исключение нулевого указателя - PullRequest
0 голосов
/ 10 сентября 2018

Каждый раз, когда я пытаюсь прочитать из файла .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 ]

0 голосов
/ 10 сентября 2018

Попробуйте использовать txtArea.append( br.readLine() ); вместо txtArea.setText(br.readLine()), так как textArea.append(str) добавляет указанный текст в конец документа. Ничего не делает, если заданная строка пуста или пуста.

0 голосов
/ 14 сентября 2018

Эй, ребята, извините, что потратили ваше время, я только что понял, что получил неправильную переменную. Спасибо за поддержку! :)

0 голосов
/ 10 сентября 2018

Вы вызываете br.readline () два раза. Поэтому вы в конечном итоге читаете две строки за раз. Возможно, именно поэтому он генерирует исключение NullPointerException, предполагая, что все остальное работает. Я бы сделал что-то вроде этого:

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

Кроме того, никогда не пытайтесь проглотить исключение без правильного оператора catch.

...