package fileTest;
import java.awt.BorderLayout;
import java.awt.Container;
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.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
public class FileChooser extends JFrame implements ActionListener {
File file=null;
JFileChooser ser=new JFileChooser();//文件选择框
JButton open=new JButton("打开文件");
JButton save=new JButton("保存文件");
JPanel panel=new JPanel();
JTextPane text=new JTextPane();//存放文本
public FileChooser(){
super("文本编辑器");
Container cn=this.getContentPane();
cn.setLayout(new BorderLayout());
open.addActionListener(this);
save.addActionListener(this);
panel.add(open);
panel.add(save);
cn.add(panel,BorderLayout.NORTH);
cn.add(new JScrollPane(text),BorderLayout.CENTER);
this.setSize(400,300);
this.setVisible(true);
}
public void saveFile(){
try {
FileWriter fw=new FileWriter(file);
fw.write(text.getText());
fw.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public void openFile(){
try {
FileReader fr=new FileReader(file);
int len=(int)file.length();
char[]buffer=new char[len];
fr.read(buffer,0,len);
fr.close();
text.setText(new String(buffer));
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public void actionPerformed(ActionEvent e) {
// TODO 自动生成方法存根
if(e.getSource()==open){
if(file!=null){ser.setSelectedFile(file);}
int returnVal=ser.showOpenDialog(this);
if(returnVal==ser.APPROVE_OPTION){
file=ser.getSelectedFile();
openFile();
}
}
if(e.getSource()==save){
if(file!=null){ser.setSelectedFile(file);}
int returnVal=ser.showOpenDialog(this);
if(returnVal==ser.APPROVE_OPTION){
file=ser.getSelectedFile();
saveFile();
}
}
}
public static void main(String[] args) {
new FileChooser();
}
}
文件保存、打开java片段
需积分: 12 65 浏览量
2008-03-31
19:31:19
上传
评论
收藏 970B RAR 举报
oneyear2008
- 粉丝: 9
- 资源: 1