java之 ------ 文件拷贝


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopyStream {

	public static void main(String[] args) {
		//fileCopy0("b.dat","d:/ex/a/","d:/ex/b/");
		//fileCopy1("b.dat","d:/ex/a/","d:/ex/b/");
		//fileCopy2("b.dat","d:/ex/a/","d:/ex/b/");
		fileCopy2("1.mp3","d:/ex/a/","d:/ex/b/");
		//fileCopy3("c.mp3","d:/ex/a/","d:/ex/b/");
		//fileCopy3("d.txt","d:/ex/a/","d:/ex/b/");

	}
	private static void fileCopy0(String fileName, String dir1,String dir2){
		try {
			FileInputStream in = new FileInputStream(dir1+fileName);
			FileOutputStream out = new FileOutputStream(dir2+fileName);
			byte[] buffer = new byte[512];
			in.read(buffer);
			out.write(buffer);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
		}
	}
	
	//学习关流
	private static void fileCopy1(String fileName, String dir1,String dir2){
		FileInputStream in = null;
		FileOutputStream out = null;
		try {
			in = new FileInputStream(dir1+fileName);
			out = new FileOutputStream(dir2+fileName);
			byte[] buffer = new byte[512];
			in.read(buffer);
			out.write(buffer);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
		}finally{
			try {
				in.close();
				out.close();
			} catch (IOException e) {
				throw new RuntimeException("文件无法关闭");
			}
		}
	}
	//可以拷贝大文件
	private static void fileCopy2(String fileName, String dir1,String dir2){
		FileInputStream in = null;
		FileOutputStream out = null;
		try {
			in = new FileInputStream(dir1+fileName);
			out = new FileOutputStream(dir2+fileName);
			byte[] buffer = new byte[512];
			int num = 0;
			do{
				num = in.read(buffer);
				out.write(buffer,0,num);
			}while(num>=0);
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				in.close();
				out.close();
			} catch (IOException e) {
				throw new RuntimeException("文件无法关闭");
			}
		}
	}
	
	//可以拷贝大文件
	private static void fileCopy3(String fileName, String dir1,String dir2){
		FileInputStream in = null;
		FileOutputStream out = null;
		try {
			in = new FileInputStream(dir1+fileName);
			out = new FileOutputStream(dir2+fileName);
			byte[] buffer = new byte[512];
			int num=0;
			while(in.available()>0){
				num = in.read(buffer);
				
				//最简单的加密
				for(int i=0;i<num;i++){
					buffer[i] = (byte)(buffer[i]+1);
				}
				
				out.write(buffer,0,num);
			}
			
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
		}finally{
			try {
				in.close();
				out.close();
			} catch (IOException e) {
				throw new RuntimeException("文件无法关闭");
			}
		}
	}

}

原文地址:https://www.cnblogs.com/zfyouxi/p/5395813.html