黑马程序员-io总结02

------- android培训java培训、期待与您交流! ----------
【案例1】完成文件的复制:将D盘Eson.txt,复制到E盘
方式1:纯一个一个字节的去复制,效率很慢
FileInputStream fis=new FileInputStream(new File("D:/Eson.txt"));
FileOutputStream fos=new FileOutputStream(new File("E:/Eson.txt"));
		int b=-1;
		while((b=fis.read())!=-1){
			fos.write(b);
		}
		fis.close();
fos.close();

方式2:使用byte[]数组去复制,效率比较高
FileInputStream fis=new FileInputStream(new File("D:/Eson.txt"));
		FileOutputStream fos=new FileOutputStream(new File("E:/Eson.txt"));
		int b=-1;
		byte[] by=new byte[1024];//2.5K
		while((b=fis.read(by))!=-1){
			fos.write(by,0,b);
		}
		fis.close();
		fos.close();

方式3:使用BufferedInputStream和BufferedOutputStream去复制
BufferedInputStream bis=new BufferedInputStream(new 
				FileInputStream(new File("D:/Eson.txt")));
BufferedOutputStream bos=new BufferedOutputStream(new
				FileOutputStream(new File("E:/Eson.txt")));
		int b=-1;
		while((b=bis.read())!=-1){
			bos.write(b);
		}
		bis.close();
		bos.close();

方式4:针对文件复制的时候,一般不适用这种类似的流,适用于程序需要用到文件里面的字符串数据的时候,读进较大的文件
BufferedReader和BufferedWriter
//字节(水分子)---》字符(一滴水)---》字符串(一桶水)
BufferedReader br=new BufferedReader(new InputStreamReader(
				new FileInputStream("D:/Eson.txt")));
		BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(
				new FileOutputStream("E:/Eson2.txt")));
		int b=-1;
		while((b=br.read())!=-1){
			bw.write(b);
			System.out.print((char)b);
		}
		br.close();
		bw.close();

------- android培训java培训、期待与您交流! ----------   详细请查看: http://edu.csdn.net/heima/

你可能感兴趣的:(程序员)