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

时间:2011-08-11 22:17:05

标签: java swing file-io import jtextarea

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

5 个答案:

答案 0 :(得分:6)

应该类似于以下代码:

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();
}

卢卡

答案 1 :(得分:4)

Document Viewer

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);
            }
        });
    }
}

答案 2 :(得分:2)

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

  1. 创建一个框架并向其添加JTextArea。
  2. 您声明并初始化JFileChooser。
  3. 您向JFileChooser添加了一个侦听器。
  4. 在您的actionPerformed中,您应该获取已选择的文件并将其传递给将读取此文件的方法(请参阅下面的注释)。
  5. 在该方法中,您打开文件阅读器并逐行读取文件的内容。在执行此操作时,将每行附加到JTextArea。
  6. 当您到达文件末尾时,关闭文件阅读器。
  7. 运行程序,你应该很高兴。
  8. 以上步骤足以执行您的任务。但是,当你试一试时,我会编辑我的帖子并添加一个可能的解决方案。

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

    可能有帮助的链接!
    JFileChooser
    File
    Java tutorials on how to use the JFileChooser

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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);
    }
}