Как импортировать содержимое текстового файла в JTextArea в приложении Java? - PullRequest
1 голос
/ 12 августа 2011

как импортировать содержимое текстового файла в JTextArea в приложении Java с использованием JFileChooser?

Ответы [ 5 ]

6 голосов
/ 12 августа 2011

должен выглядеть примерно так:

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

Luca

4 голосов
/ 12 августа 2011

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 голосов
/ 12 августа 2011

Чтобы импортировать содержимое файла в JTextArea, просто выполните следующие действия!

  1. Создайте фрейм и добавьте к нему JTextArea.
  2. Вы объявляете и инициализируете JFileChooser.
  3. Вы добавляете слушателя в JFileChooser.
  4. В вашем actionPerformed вы должны взять выбранный файл и передать его методу, который будет читать этот файл (см. Примечание ниже).
  5. В этом методе вы открываете программу чтения файлов и читаете содержимое файла построчно. При этом вы добавляете каждую строку в JTextArea.
  6. Когда вы добираетесь до конца файла, вы закрываете программу чтения файлов.
  7. Запустите программу, и все будет хорошо.

Вышеуказанные шаги достаточно хороши для выполнения вашей задачи. Однако, когда вы попробуете, я отредактирую свой пост и добавлю возможное решение.

NB. Обратите внимание, что при выборе файла с помощью JFileChooser возвращается объект типа File. Затем вы должны использовать метод getName(), предоставленный классом File, чтобы получить имя файла.

Ссылки, которые могут быть полезны!
JFileChooser
Файл
Java-уроки по использованию JFileChooser

1 голос
/ 12 августа 2011

Определите имя файла, заданное из FileChooser, прочитайте содержимое файла в строку (например, используя StringBuilder), установите содержимое JTextArea на содержимое буфера, используя JTextField#setText(String).

0 голосов
/ 13 февраля 2015
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);
    }
}  
...