import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/************************
* 在文件中有很多资源不是字节的
* 例如图片、中文等。FileReader流
* 顺序地读取文件,只要不关闭流
* read()方法就顺序地读取源中其余的
* 内容,知道源的末尾或流被关闭
*
* 本例中创建Swing窗口,单击窗口中的
* “写入文件”按钮实现将文本框中的数据读入
* 文件,单击“读取文件”,系统将磁盘文件中
* 的内容读入到文本框中。
* @author xiufe
*
*/
public class FileReaderAndFileWriter {
private JButton openbutton=null;
private JButton closebutton=null;
private JTextField jtextfield=null;
private JPanel jcontentpane=null;
private JPanel jcontrollpane=null;
public JButton getOpenButton(){
if(openbutton==null){
openbutton=new JButton("写入文件");
openbutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
File file=new File("F://Java//file.txt");
try{
file.createNewFile();
FileWriter writer=new FileWriter(file);
String string= jtextfield.getText();
writer.write(string);
jtextfield.setText("已读入");
writer.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
});
}
return openbutton;
}//OpenButton()
public JButton getCloseButton(){
if(closebutton==null){
closebutton=new JButton("读取文件");
closebutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
try{
File file=new File("F://Java//file.txt");
FileReader reader=new FileReader(file);
char byt[]=new char[1024];
int len=reader.read(byt);
jtextfield.setText(new String(byt,0,len));
reader.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
});
}
return closebutton;
}
public JPanel GetJControllPane(){
if(jcontrollpane==null){
jcontrollpane=new JPanel();
jcontrollpane.setLayout(new FlowLayout());
jcontrollpane.add(getOpenButton());
jcontrollpane.add(getCloseButton());
}
return jcontrollpane;
}
public FileReaderAndFileWriter()
{
JFrame frame=new JFrame("读取文件");
Container container=frame.getContentPane();
if(jcontentpane==null){
jcontentpane=new JPanel();
jcontentpane.setLayout(new BorderLayout());
if(jtextfield==null){
jtextfield=new JTextField();
jcontentpane.add(jtextfield, BorderLayout.CENTER);
}
jcontentpane.add(GetJControllPane(), BorderLayout.SOUTH);
}
container.add(jcontentpane);
frame.setVisible(true);
frame.setSize(300, 200);
frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new FileReaderAndFileWriter();
}
}
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
/************************
* 在文件中有很多资源不是字节的
* 例如图片、中文等。FileReader流
* 顺序地读取文件,只要不关闭流
* read()方法就顺序地读取源中其余的
* 内容,知道源的末尾或流被关闭
*
* 本例中创建Swing窗口,单击窗口中的
* “写入文件”按钮实现将文本框中的数据读入
* 文件,单击“读取文件”,系统将磁盘文件中
* 的内容读入到文本框中。
* @author xiufe
*
*/
public class FileReaderAndFileWriter {
private JButton openbutton=null;
private JButton closebutton=null;
private JTextField jtextfield=null;
private JPanel jcontentpane=null;
private JPanel jcontrollpane=null;
public JButton getOpenButton(){
if(openbutton==null){
openbutton=new JButton("写入文件");
openbutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
File file=new File("F://Java//file.txt");
try{
file.createNewFile();
FileWriter writer=new FileWriter(file);
String string= jtextfield.getText();
writer.write(string);
jtextfield.setText("已读入");
writer.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
});
}
return openbutton;
}//OpenButton()
public JButton getCloseButton(){
if(closebutton==null){
closebutton=new JButton("读取文件");
closebutton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
try{
File file=new File("F://Java//file.txt");
FileReader reader=new FileReader(file);
char byt[]=new char[1024];
int len=reader.read(byt);
jtextfield.setText(new String(byt,0,len));
reader.close();
}catch(Exception e2){
e2.printStackTrace();
}
}
});
}
return closebutton;
}
public JPanel GetJControllPane(){
if(jcontrollpane==null){
jcontrollpane=new JPanel();
jcontrollpane.setLayout(new FlowLayout());
jcontrollpane.add(getOpenButton());
jcontrollpane.add(getCloseButton());
}
return jcontrollpane;
}
public FileReaderAndFileWriter()
{
JFrame frame=new JFrame("读取文件");
Container container=frame.getContentPane();
if(jcontentpane==null){
jcontentpane=new JPanel();
jcontentpane.setLayout(new BorderLayout());
if(jtextfield==null){
jtextfield=new JTextField();
jcontentpane.add(jtextfield, BorderLayout.CENTER);
}
jcontentpane.add(GetJControllPane(), BorderLayout.SOUTH);
}
container.add(jcontentpane);
frame.setVisible(true);
frame.setSize(300, 200);
frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new FileReaderAndFileWriter();
}
}