当前位置 : 主页 > 编程语言 > java >

包装流和节点流的比较

来源:互联网 收集:自由互联 发布时间:2021-06-28
BufferedWriteReaderDemo.java package BufferDemo;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.util.MissingFormatArgumentExcep
BufferedWriteReaderDemo.java
package BufferDemo;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.MissingFormatArgumentException;

public class BufferedWriteReaderDemo {
//字符的包装缓冲流
	public static void main(String[] args) throws Exception {

	BufferedWriter out=	new BufferedWriter(new FileWriter("file/ch.txt"));
	out.write("君不见黄河之水天上来");
	out.newLine();//换行写入
	out.write("奔流到海不复回");
	out.close();

		BufferedReader in = new BufferedReader(new FileReader("file/ch.txt"));
			/*char[] buffer=new char[1024];
			int len=-1;
			while((len=in.read(buffer))!=-1){
				System.out.println(new String (buffer,0,len));
			}
				System.out.println(in.readLine());
*/		
			String line=null;
			while((line=in.readLine())!=null){
				System.out.println(line);
			}
	
		in.close();

	}
}
NodeStreamVsBufferedStrewam.java
package BufferDemo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class NodeStreamVsBufferedStrewam {
	public static void main(String[] args) throws Exception {
		File srcf=new File("file/任小龙.avi");
		File destf=new File("newfile/龙哥.avi");
		/*test1(srcf,destf);*/
		/*test2(srcf, destf);*/
	/*	test3(srcf,destf);*/
		test4(srcf,destf);
	}
	//一般都使用包装流的BufferedStream方法
	private static void test4(File srcf, File destf) throws Exception {
		long begin=System.currentTimeMillis();
		InputStream in=new BufferedInputStream(new FileInputStream(srcf));
		OutputStream out=new BufferedOutputStream(new FileOutputStream(destf));
		byte[] buffer=new byte[1024];
		int len=-1;
		while((len=in.read(buffer))!=-1){
			out.write(buffer,0, len);
		}
		in.close();
		out.close();
		System.out.println(System.currentTimeMillis()-begin);
	}
	//54ms
	private static void test3(File srcf, File destf) throws Exception {
		long begin=System.currentTimeMillis();
		InputStream in=new BufferedInputStream(new FileInputStream(srcf));
		OutputStream out=new BufferedOutputStream(new FileOutputStream(destf));
		byte[] buffer=new byte[1024];
		int len=-1;
		while((len=in.read(buffer))!=-1){
			out.write(buffer,0, len);
		}
		in.close();
		out.close();
		System.out.println(System.currentTimeMillis()-begin);
	}
	//1001ms
	private static void test2(File srcf, File destf) throws Exception {
		long begin=System.currentTimeMillis();
		InputStream in=new BufferedInputStream(new FileInputStream(srcf));
		OutputStream out=new BufferedOutputStream(new FileOutputStream(destf));
		int len=-1;
		while((len=in.read())!=-1){
			out.write( len);
		}
		in.close();
		out.close();
		System.out.println(System.currentTimeMillis()-begin);
		
	}
		//261769ms
	private static void test1(File srcf, File destf) throws Exception {
	long begin=System.currentTimeMillis();
	FileInputStream in=new FileInputStream(srcf);
	FileOutputStream out=new FileOutputStream(destf);
	int len=-1;
	while((len=in.read())!=-1){
		out.write( len);
	}
	in.close();
	out.close();
	System.out.println(System.currentTimeMillis()-begin);
	}
}
BufferedoutputStreamDemo.java
package BufferDemo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class BufferedoutputStreamDemo {
	public static void main(String[] args) throws Exception {
		File f = new File("file/ch.txt");
		FileOutputStream out = new FileOutputStream(f);
		// 字节缓冲输出流,里面加的是文件字节流
		BufferedOutputStream bos = new BufferedOutputStream(out);
		//前三步可以合成一步
		BufferedOutputStream bos1=new BufferedOutputStream(new FileOutputStream("file/ch.txt"));
		bos.write("ajdaosijdoia".getBytes());
		bos.close();

		File f1 = new File("file/ch.txt");
		FileInputStream in = new FileInputStream(f1);
		BufferedInputStream bin = new BufferedInputStream(in);
		byte[] buffer = new byte[10];
		int len = -1;
		while ((len = bin.read(buffer)) != -1) {
			System.out.println(new String(buffer, 0, len));
		
		}
		bin.close();
	}
}
上一篇:java的属性
下一篇:取范围内的值
网友评论