Java中实现对IO操作文件的复制拷贝
package cn.look.file;
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream;
public class CopyFile {
public static void main(String[] args) throws Exception{ // TODO 自动生成的方法存根 long start=System.currentTimeMillis(); //记录起始时间 //此处的args在创建该类的时候已经运行一次,然后在点开Coverage配置,找到自变量,在里面设置 //你要输入你的文件路径以及你要复制文件的存储路径 if(args.length!=2) { //初始化参数不是两位 System.out.println("命令执行错误:"); System.exit(1); } //如果输入的参数正确,那么就应该进行文件的验证 File firstfile=new File(args[0]); //第一个文件的路径 if(!firstfile.exists()) { System.out.println("源文件不存在,请确认文件的路径是否正确"); System.exit(1); } //当源文件的路径正确时,那么下面进行文件的拷贝 File copyfile=new File(args[1]); //拷贝文件的路径 if(!copyfile.getParentFile().exists()) { //先判断要拷贝的文件的父路径是否存在 copyfile.getParentFile().mkdirs(); } InputStream input=new FileInputStream(firstfile); OutputStream output=new FileOutputStream(copyfile); //第一种读取文件的方式,这种方式读取速度相对较慢,不建议使用 /*int temp=0; //用于保存每次读取的内容 while((temp=input.read())!=-1) { output.write(temp); //输出单个字节 }*/ //第二种文件读取的方式,这种方式在以后开发中运用较多,建议使用 byte[] a=new byte[1024]; //建议值设为1024或者2048,太大会浪费空间 int temp=0; while((temp=input.read(a))!=-1) { output.write(a, 0, temp); } input.close(); output.close(); long end=System.currentTimeMillis(); System.out.println("文件拷贝的时间为:"+(end-start)); }}