如何使用JFileChooser将Text文件内容导入Java应用程序中的JTextArea?
答案 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)
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,您只需按照以下步骤操作即可!
以上步骤足以执行您的任务。但是,当你试一试时,我会编辑我的帖子并添加一个可能的解决方案。
注意:您必须注意,当您选择带有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);
}
}