如何将文本文件内容导入Java应用程序中的JTextArea?

如何使用JFileChooser将Text文件内容导入Java应用程序中的JTextArea?

应该类似于以下代码:

JFileChooser chooser = new JFileChooser(); int returnVal = chooser.showOpenDialog(null); //replace null with your swing container File file; if(returnVal == JFileChooser.APPROVE_OPTION) file = chooser.getSelectedFile(); } JTextArea text = new JTextArea(); BufferedReader in = new BufferedReader(new FileReader(file)); String line = in.readLine(); while(line != null){ text.append(line + "\n"); line = in.readLine(); } 

卢卡

文档查看器

 import java.awt.BorderLayout; import java.awt.event.*; import javax.swing.*; import java.io.File; class DocumentViewer { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { final JFrame f = new JFrame("Document Viewer"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JFileChooser fileChooser = new JFileChooser(); JPanel gui = new JPanel(new BorderLayout()); final JEditorPane document = new JEditorPane(); gui.add(new JScrollPane(document), BorderLayout.CENTER); JButton open = new JButton("Open"); open.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { int result = fileChooser.showOpenDialog(f); if (result==JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { document.setPage(file.toURI().toURL()); } catch(Exception e) { e.printStackTrace(); } } } }); gui.add(open, BorderLayout.NORTH); f.setContentPane(gui); f.pack(); f.setSize(400,300); f.setLocationByPlatform(true); f.setVisible(true); } }); } } 

要将文件的内容导入JTextArea,您只需按照以下步骤操作即可!

  1. 创建一个框架并向其添加JTextArea。
  2. 您声明并初始化JFileChooser。
  3. 您将一个侦听器添加到JFileChooser。
  4. 在您的actionPerformed中,您应该获取所选的文件并将其传递给将读取此文件的方法(请参阅下面的NB)。
  5. 在该方法中,您打开文件阅读器并逐行读取文件的内容。 在执行此操作时,将每行附加到JTextArea。
  6. 当您到达文件末尾时,关闭文件阅读器。
  7. 运行该程序,你应该很高兴。

上述步骤足以执行您的任务。 但是,当你试一试时,我会编辑我的post并添加一个可能的解决方案。

注意:您必须注意,当您使用JFileChooser选择文件时,它会返回File类型的Object。 然后,您应该使用File类提供的getName()方法来获取文件的名称。

可能有帮助的链接!
JFileChooser中
文件
关于如何使用JFileChooser的Java教程

确定从FileChooser给出的文件名,将文件内容读入String(例如使用StringBuilder ),使用JTextField#setText(String)将JTextArea的内容设置为缓冲区的内容。

 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JFileChooser jf = new JFileChooser(); final JEditorPane document = new JEditorPane(); int returnval=jf.showDialog(this, null); File file = null; if(returnval == JFileChooser.APPROVE_OPTION) file = jf.getSelectedFile(); String str ; try { byte bt[]= Files.readAllBytes(file.toPath()); str=new String(bt,"UTF-8"); System.out.println(str); } catch (IOException ex) { Logger.getLogger(test.class.getName()).log(Level.SEVERE, null, ex); } }