import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class openAndSaveFile extends JDialog implements ActionListener
{
//**********************************
private File f; //文件对话框变量
private JFrame frm;
private JFileChooser fc;
private int flag;
//*********************************
JPanel p1=new JPanel(); //定义并建立面板
JButton b1=new JButton("打开");
JButton b2=new JButton("保存");
public openAndSaveFile()
{
Container contentPane=this.getContentPane();//取出内容面板
p1.add(b1);
p1.add(b2);
contentPane.add(p1); //将面板添加到内容面板
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置自动关闭窗口
setSize(200,200);
Dimension screen=Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screen.width-500)/2,(screen.height-680)/2);//窗口居中
fc=new JFileChooser();
fc.setFileFilter(new javaFilter());//设置文件过滤器
setResizable(false); //不让用户改变窗口大小
setVisible(true);
b1.addActionListener(this);
b2.addActionListener(this);
}
//***********文件对话框用到的函数*****************
private void openFile() //打开文件
{
//设置打开文件对话框的标题
fc.setDialogTitle("打开文件");
//这里显示打开文件的对话框
try{
flag=fc.showOpenDialog(frm);
}
catch(HeadlessException head){
System.out.println("打开文件出错!");
}
//如果按下确定按钮,则获得该文件。
if(flag==JFileChooser.APPROVE_OPTION)
{
//获得该文件
f=fc.getSelectedFile();
try
{
FileReader fr=new FileReader(f);
BufferedReader br=new BufferedReader(fr);
String line=br.readLine();
StringBuffer ss=new StringBuffer(line);
while(line!=null)
{
line=br.readLine();
ss.append("/r/n"+line);
}
String rr=new String(ss);
StringBuffer rs=new StringBuffer(rr.length()-4);
for(int i=0;i<rr.length()-4;i++)
rs.append(rr.charAt(i));
//programe.setText(rs.toString());//将打开的文件写入到文本框programe中
}
catch (IOException ee)
{}
}
}
private void readFile() //保存文件
{
String fileName;
//设置保存文件对话框的标题
fc.setDialogTitle("保存文件");
//这里将显示保存文件的对话框
try{
flag=fc.showSaveDialog(frm);
}
catch(HeadlessException he){
System.out.println("保存文件出错!");
}
//如果按下确定按钮,则获得该文件。
if(flag==JFileChooser.APPROVE_OPTION)
{
//获得你输入要保存的文件
f=fc.getSelectedFile();
//获得文件名
fileName=fc.getName(f);
//也可以使用fileName=f.getName();
try
{
FileWriter fw=new FileWriter(f);
fw.write("111111");
fw.close();
}
catch (IOException ef)
{}
}
}
//*****************************************************
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
{
openFile();
}
if(e.getSource()==b2)
{
readFile();
}
}
public static void main(String[] args)
{
openAndSaveFile of=new openAndSaveFile();
}
}
import java.io.File;
import javax.swing.filechooser.*;
class Utils
{
public final static String TEXT = "java";
public static String getExtension(File f)
{
String ext= null;
String s = f.getName();
int i = s.lastIndexOf('.');
if (i>0&&i<s.length()-1)
{
ext=s.substring(i+1).toLowerCase();
}
return ext;
}
}
class javaFilter extends javax.swing.filechooser.FileFilter
{
// Accept all directories and all txt
public boolean accept(File f)
{
if(f.isDirectory())
{
return true;
}
String extension = Utils.getExtension(f);
if(extension!=null)
{
if(extension.equals(Utils.TEXT))
{
return true;
}
else
{
return false;
}
}
return false;
}
// The description of this filter
public String getDescription()
{
return "*.java";
}
}