Java如何将文本文件读入JTextArea?
使用从read(Readerin,Objectdesc)继承的方法,JTextComponent我们可以JTextArea使用文件中的文本内容填充。本示例将向您展示如何进行。
在此示例中,我们使用InputStreamReader来从应用程序资源中读取文件。您可以使用其他Reader实现(例如)FileReader来读取文件的内容。让我们看看下面的代码。
package org.nhooo.example.swing; import javax.swing.*; import java.awt.*; import java.io.IOException; import java.io.InputStreamReader; public class PopulateTextAreaFromFile extends JPanel { public PopulateTextAreaFromFile() { initialize(); } private void initialize() { JTextArea textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); try { //从资源文件中读取一些文本以显示 //JTextArea。 textArea.read(new InputStreamReader( getClass().getResourceAsStream("/data.txt")), null); } catch (IOException e) { e.printStackTrace(); } this.setPreferredSize(new Dimension(500, 200)); this.setLayout(new BorderLayout()); this.add(scrollPane, BorderLayout.CENTER); } public static void showFrame() { JPanel panel = new TextAreaInsertText(); panel.setOpaque(true); JFrame frame = new JFrame("Populate JTextArea from File"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(panel); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { PopulateTextAreaFromFile.showFrame(); } }); } }
上面的代码片段的输出是: