Как читать файл и записывать содержимое в JTextArea? - PullRequest
0 голосов
/ 12 мая 2019

Я хочу перенести контент из текстового файла в JTextarea. Я предполагаю, что мой код просто нуждается в небольших корректировках, но даже в результате исследований. Я не могу выяснить, что не так. Пока что это просто отображение пустого JFrame вместо текста файла.

this.setSize(this.width, this.height);
this.setVisible(true);
this.jScrollPane = new JScrollPane(this.jTextArea);
this.jPanel = new JPanel();
this.jPanel.setOpaque(true);
this.jTextArea.setVisible(true);

try {
    this.jTextArea = new JTextArea();
    this.jTextArea.read(new InputStreamReader(
        getClass().getResourceAsStream("C:\\wrk\\SapCommerceCloud\\src\\SwingUni\\name")),
        null);

} // catch

    this.add(this.jScrollPane);

И использование:

public static void main(String[] args) {
    new TextFrame(new File("C:\\wrk\\SapCommerceCloud\\src\\SwingUni\\name"), 500, 500);
}

1 Ответ

0 голосов
/ 12 мая 2019

У вас есть 2 важных вопроса в этом коде:

  • Вы создаете jScrollPane this.jScrollPane = new JScrollPane(this.jTextArea); перед чтением содержимого файла, используя jTextArea
  • Метод не работает read(new InputStreamReader( getClass().getResourceAsStream("C:\\wrk\\SapCommerceCloud\\src\\SwingUni\\name")), null); Используйте тот, что в следующем примере.

Вы должны поймать исключение для решения проблем

  public class TextAreaDemo extends JFrame {

    private JScrollPane jScrollPane;
    private JTextArea jTextArea ;
    private static final String FILE_PATH="/Users/user/IdeaProjects/StackOverflowIssues/file.txt";

 public TextAreaDemo() {

        try {
            jTextArea = new JTextArea(24, 31);

            jTextArea.read(new BufferedReader(new FileReader(FILE_PATH)), null);

        } catch (Exception e){

            e.printStackTrace();
        }

        jScrollPane = new JScrollPane(this.jTextArea);
        this.add(this.jScrollPane);
        this.setVisible(true);
        this.setSize(400, 200);
    }
    public static void main(String[] args) {
        TextAreaDemo textAreaDemo = new TextAreaDemo();
    }
...