IO流文件拷贝

IO流文件拷贝

前言

分析步骤:
数据源: 源文件(E:...)
目的地: 目标文件(E:...)
工具: (FileInputStream FileOutputStream...)

字节流(使用FileInputStream和FileOutputStream读取每一个字节...)

public static void copy1(String src,String des) throws Exception{
		FileInputStream fis = new FileInputStream(src);
		FileOutputStream fos = new FileOutputStream(des);
		int b = 0;
		while((b = fis.read())!=-1){
			fos.write(b);
			fos.flush();
		}
		fis.close();
		fos.close();
	}

字节流(使用FileInputStream和FileOutputStream一次读取一个byte数组...)

public static void copy2(String src,String des)throws Exception{
		FileInputStream fis = new FileInputStream(src);
		FileOutputStream fos = new FileOutputStream(des);
		int len = 0;
		byte[] b = new byte[1024];
		while((len = fis.read(b))!=-1){
			fos.write(b,0,len);
			fos.flush();
		}
		fis.close();
		fos.close();
	}

高效字节缓冲流(使用BufferedInputStream和BufferedOutputStream一次性读取一个字节)

public static void copy3(String src,String des)throws Exception{
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(des));
		int b = 0;
		while((b=bis.read())!=-1){
			bos.write(b);
			bos.flush();
		}
		bis.close();
		bos.close();
	}

高效字节缓冲流(使用BufferedInputStream和BufferedOutputStream一次性读取一个字节数组)

public static void copy4(String src,String des)throws Exception{
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(src));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(des));
		int len = 0;
		byte[] b = new byte[1024];
		while((len = bis.read(b))!=-1){
			bos.write(b, 0, len);
			bos.flush();
		}
		bis.close();
		bos.close();
	}

字符流(使用FileReader和FileWriter读取每一个字符)

public static void copy5(String src,String des)throws Exception{
		FileReader fr = new FileReader(src);
		FileWriter fw = new FileWriter(des);
		int b = 0;
		while((b = fr.read())!=-1){
			fw.write(b);
			fw.flush();
		}
		fr.close();
		fw.close();
	}

字符流(使用FileReader和FileWriter读取每一个字符数组)

public static void copy6(String src,String des)throws Exception{
		FileReader fr = new FileReader(src);
		FileWriter fw = new FileWriter(des);
		int len = 0;
		char[] b =new char[1024];
		while((len = fr.read(b))!=-1){
			fw.write(b,0,len);
			fw.flush();
		}
		fr.close();
		fw.close();
	}

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一个字符)

public static void copy7(String src,String des)throws Exception{
		BufferedReader br = new BufferedReader(new FileReader(src));
		BufferedWriter bw = new BufferedWriter(new FileWriter(des));
		int b = 0;
		while((b = br.read())!=-1){
			bw.write(b);
			bw.flush();
		}
		br.close();
		bw.close();
	}

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一个字符数组)

public static void copy8(String src,String des)throws Exception{
		BufferedReader br = new BufferedReader(new FileReader(src));
		BufferedWriter bw = new BufferedWriter(new FileWriter(des));
		int len = 0;
		char[] b = new char[1024];
		while((len = br.read(b))!=-1){
			bw.write(b,0,len);
			bw.flush();
		}
		br.close();
		bw.close();
	}

高效字符缓冲流(使用BufferedReader和BufferedWriter读取每一行)

public static void copy9(String src,String des)throws Exception{
		BufferedReader br = new BufferedReader(new FileReader(src));
		BufferedWriter bw = new BufferedWriter(new FileWriter(des));
		String s =null;
		while((s = br.readLine())!=null){
			bw.write(s);
			bw.newLine();
			bw.flush();
		}
		br.close();
		bw.close();
	}

持续更新...

@Fzxey

原文地址:https://www.cnblogs.com/fzxey/p/10822767.html