文件拷贝

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class Hello {
	public static void main(String[] args)throws Exception{
		if(args.length !=2){
			System.out.println("对不起,程序执行错误,样例:Java Hello 源路径  目标路径");
			System.exit(1);
			//System.out.println("源路径:"+ args[0]);
			//System.out.println("目标路径:"+ args[1]);
		}
		File inFile = new File(args[0]) ;  //定义输入文件路径
		if(!inFile.exists()){  //文件不存在
			System.out.println("拷贝到源文件不存在,程序退出!");
			System.exit(1);
		}
		File outFile = new File(args[1]) ; 
		copy(inFile,outFile) ; 
	}
	public static boolean copy(File inFile,File outFile)throws Exception{
		InputStream input = null ;  //实现输入数据读取
		OutputStream output = null ; //实现输出数据保存
		try{
			long start = System.currentTimeMillis() ;
			//需要考录目标文件夹生成问题
			if(outFile.getParentFile().exists()){                    //byte data[] = new byte[2048] ; 
				outFile.getParentFile().mkdirs() ; 
			}
			//分别实例化输入流与输出流
			input = new FileInputStream(inFile) ; 
			output = new FileOutputStream(outFile) ; 
			int temp = 0 ; //保存每次读取进来的数据					//保存每次读群进来的数据,将数据读取到数组之中,而后返回读取的个数 ; 
			while((temp=input.read())!=-1){							//while((temp=input.read(data))!=-1){
				output.write(temp);									//		outptu.write(temp) ; 
			}														// }
			long end = System.currentTimeMillis() ; 
			System.out.println("花费时间:"+(end-start)); 
			return true ; 
		}catch(Exception e){
			throw e ; 
		}finally{
			if(input != null){
				input.close();
			}
			if(output != null){
				output.close(); 
			}
		}
	}
}	

猜你喜欢

转载自1192890342.iteye.com/blog/2328120