在java的API中没有直接惊醒文件复制的API,所以在进行文件复制操作的时候需要使用文件的输入流和文件输出流,读进来一个文件,然后再写到另外一个地方,下面是简单的代码:
package exercise;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JOptionPane;
public class FileCopyTest {
public static boolean copyFile(String src,String dest){
boolean success=false;
try{
FileInputStream fin=new FileInputStream(src);
BufferedInputStream bin=new BufferedInputStream(fin);
FileOutputStream fou=new FileOutputStream(dest);
BufferedOutputStream bou=new BufferedOutputStream(fou);
byte []buff=new byte[1024*10];
int len;
while((len=bin.read(buff))!=-1){
bou.write(buff, 0, len);
}
bou.flush();
bou.close();
bin.close();
fou.close();
fin.close();
success=true;
}catch(IOException e){
JOptionPane.showMessageDialog(null, "文件复制过程出错!");
}
return success;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
long starttime=System.currentTimeMillis();
System.out.println("runnin...");
String src="H://downlode//终极密码战BD中英双字.rmvb";
System.out.println((new File(src)).length()+"B");
String dest="H://downlode//copy.rmvb";
boolean success=copyFile(src,dest);
if(success){
JOptionPane.showMessageDialog(null, "文件复制成功!");
}
System.out.println("拷贝结束!"+(System.currentTimeMillis()-starttime));
}
}