如何读取文件并将内容写入 JTextArea?

How to read File and write content into JTextArea?

我想将文本文件中的内容传输到 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);
}

这段代码中有 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/WhosebugIssues/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();
    }