首先,我对java非常基础。我正在尝试浏览一个 .txt 文件并将其内容加载到文本区域。我完成了这一部分,直到我从 JFileChooser 收到文件,现在我不知道如何做剩下的事情。
.
.
.
File selFile = new File(fileChooser.getSelectedfile());
/// From here I want to load its content to a textarea "txtArea"
最佳答案
使用所有 Swing 文本组件都支持的 read(...) 和 write(...) 方法。简单示例:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.*;
class TextAreaLoad
{
public static void main(String a[])
{
final JTextArea edit = new JTextArea(10, 60);
edit.setText("one\ntwo\nthree");
edit.append("\nfour\nfive");
JButton read = new JButton("Read TextAreaLoad.txt");
read.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
FileReader reader = new FileReader( "TextAreaLoad.txt" );
BufferedReader br = new BufferedReader(reader);
edit.read( br, null );
br.close();
edit.requestFocus();
}
catch(Exception e2) { System.out.println(e2); }
}
});
JButton write = new JButton("Write TextAreaLoad.txt");
write.addActionListener( new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
FileWriter writer = new FileWriter( "TextAreaLoad.txt" );
BufferedWriter bw = new BufferedWriter( writer );
edit.write( bw );
bw.close();
edit.setText("");
edit.requestFocus();
}
catch(Exception e2) {}
}
});
JFrame frame = new JFrame("TextArea Load");
frame.getContentPane().add( new JScrollPane(edit), BorderLayout.NORTH );
frame.getContentPane().add(read, BorderLayout.WEST);
frame.getContentPane().add(write, BorderLayout.EAST);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible(true);
}
}
关于java - 将文本文件加载到文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880169/