import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class copy
{
JFrame f;
JPanel p;
JPanel p1;
JPanel p2;
JPanel p3;JLabel jl=new JLabel("    ");
JLabel jl1=new JLabel("");
JLabel jl2=new JLabel("");
JLabel jl3=new JLabel("");
JLabel jl4=new JLabel("");JFileChooser fc1=new JFileChooser("请选择输出路径");
JTextField t=new JTextField("                                       ");
JTextField t1=new JTextField("                                       ");
JButton b1=new JButton("确定");
JButton b2=new JButton("取消");
JButton b3=new JButton("退出");
JButton b4=new JButton("选择");
JButton b5=new JButton("保存");copy()
{f=new JFrame();
f.setTitle("复制程序");
BorderLayout bl=new BorderLayout();
f.getContentPane().setLayout(bl);
f.setSize(400,300);
f.setLocation(300,300);
p=new JPanel(new GridLayout(3,1,10,10));f.getContentPane().add("Center",p);
p1=new JPanel();p1.setLayout(new FlowLayout());
p2=new JPanel();p2.setLayout(new FlowLayout());
p3=new JPanel();p3.setLayout(new FlowLayout());
p1.add(t);
p1.add(b4);
p2.add(t1);
p2.add(b5);  
f.getContentPane().add("North",jl);
f.getContentPane().add("Center",p);
p.add(p1);
p.add(p2);
p.add(p3);
p3.add(b1);
p3.add(b2);
p3.add(b3);
f.setVisible(true);
b4.addActionListener(new buttonA(1));
b5.addActionListener(new buttonA(2));
b1.addActionListener(new buttonA(3));
b2.addActionListener(new buttonA(4));
b3.addActionListener(new buttonA(5));
}public static void main(String args[])
{
copy my=new copy();
}
class buttonA implements ActionListener
{
JFileChooser fc=new JFileChooser("c:/");
int sel;
File sf,sf1;
String fname,fname1;
buttonA(int select)
{
this.sel=select;
}
public void actionPerformed(ActionEvent e)
{
if(sel==1)
{
fc.showOpenDialog(null);
sf=fc.getSelectedFile();
fname=sf.getAbsolutePath();
t.setText(fname);
}
else if(sel==2)
{
fc1.showOpenDialog(null);
sf1=fc1.getSelectedFile();
fname1=sf1.getAbsolutePath();
t1.setText(fname1);
}
else if(sel==3)
{
try
{
File f=new File(fname);
FileInputStream fi=new FileInputStream(f);
FileOutputStream fo=new FileOutputStream(fname1);
byte b[]=new byte[1024];
int i=fi.read(b);
while (fi.read(b)!=-1)
{
fo.write(b);
fo.flush();
i=fi.read(b);
}
System.out.println ("复制完毕");
fi.close();
fo.close();}catch(Exception e1){}}
else if(sel==5)
{
System.exit(0);
}
else if(sel==4)
{}}}
}    这是我做的一个复制程序代码  不知道哪里错了 不能实现复制功能