首页 > 解决方案 > java swing中如何一个一个读取多个文件并显示在同一个文本区域?

问题描述

我正在为一项作业编写一些代码。我正在使用 java swing 来做到这一点。我需要知道应该如何更改我的代码以在文本区域中显示多个文件内容。

我已经尝试了一些代码。我添加了一个 jButton 和一个 jTextArea 来读取多个文件。我已经对 setMultiSelectionEnabled(true) 和 getSelectedFiles() 有所了解。

//This is my code inside the jButton

    JFileChooser chooser = new JFileChooser();
    chooser.setMultiSelectionEnabled(true);
    chooser.showOpenDialog(null);
    File files = chooser.getSelectedFiles();
    String filename = files.getAbsolutePath();


    try{
       FileReader reader = new FileReader(filename);
       BufferedReader br = new BufferedReader(reader);
       jTextArea1.read(br, null);

       br.close();
       jTextArea1.requestFocus();
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }

我只能将一个文件内容放入我的文本区域。请帮我开发这个。谢谢!

标签: javaswingfile-iojtextareajfilechooser

解决方案


如果您希望在单个文本区域中有多个文件,则不能使用该read(...)方法。

相反,您需要逐行读取每个文件并使用该append(...)方法将文本添加到文本区域。


推荐阅读