Java仿Windows 窗口化复制文件功能,
class SelectFileListener implements ActionListener {//取得目录内容的事件处理
public void actionPerformed(ActionEvent event) {
if (fileChooser.showOpenDialog(CopyFileDemo.this)==JFileChooser.APPROVE_OPTION){//弹出文件选择器,并判断是否点击了打开按钮
String fileName=fileChooser.getSelectedFile().getAbsolutePath();//得到选择文件的绝对路径
if (event.getSource().equals(selectFile1)){//判断事件来自于哪个按钮
jtfSourceFile.setText(fileName);//设置源文件路径
}
else{
jtfTargetFile.setText(fileName);//设置目标文件路径
}
}
}
}
public boolean copy(String file1,String file2){//拷贝文件方法
try{
java.io.File fileIn=new java.io.File(file1);//用路径名生成源文件
java.io.File fileOut=new java.io.File(file2);//用路径名生成目标文件
FileInputStream fin=new FileInputStream(fileIn);//得到文件输入流
FileOutputStream fout=new FileOutputStream(fileOut);//得到文件输出流
byte[] bytes=new byte[1024];//初始化字节数组,用于缓冲
int c;
while((c=fin.read(bytes))!=-1){//如果文件未读完
fout.write(bytes,0,c);//将读取的字节数组写入目标文件输出流中
}
fin.close();//关闭输入流
fout.close();//关闭输出流