java缓冲流_java中的缓冲流!

packagecn.zhozuohou;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;/** 一、缓冲流?

* 【缓冲流的目的就是提高读写效率。】

*

* 二、字节输入输出缓冲流!

1.字节输入缓冲流!

BufferedInputStream 读! read() 复制!文件到程序! BufferedInputStream a1=new BufferedInputStream(new FileInputStream(文件));

2.字节输出缓冲流!

BufferedOutputStream 写! write() 拷贝!程序到文件! FileOutputStream a1=new FileOutputStream("文件);

3.字节缓冲流拷贝文件,效率非常高!

1.先读后写

BufferedInputStream a1=new BufferedInputStream (new FileInputStream("D:\\XMind\\1.dat"));

BufferedOutputStream a2=new BufferedOutputStream(new FileOutputStream("d:\\game\\1.dat"));

三、字符输入输出缓冲流!

1.字符输入缓冲流。读!read

BufferedReader; BufferedReader a1=new BufferedReader(new FileReader(文件名)); 字符类型 String char

2.字符输出缓冲流! 写! write

BufferedWrite; FileWriter a1=new FileWriter(文件名);

3.字符缓冲流拷贝文件!

BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\abc.txt"));

BufferedWriter a2=new BufferedWriter(new FileWriter("d:\\day13\\abc.txt"));

*

**/

public class缓冲流 {public static void main(String[] args) throwsIOException {

bufferedInputStream();//1.字节输入缓冲流 读! 慢 快!

bufferedOutputStream(); //2.字节输出缓冲流//copy01();//3.字节缓冲流拷贝文件! 速度快!//copy02();//4.普通字节流拷贝文件!

bufferedReader(); //5.字符输入缓冲流!

bufferedWriter(); //6.字符输出缓冲流!

copy03(); //7.字符缓冲流流复制文件!

}//7.字符缓冲流流复制文件!

private static void copy03() throwsIOException{

BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\aa.txt"));

BufferedWriter a2=new BufferedWriter(new FileWriter("C:\\aa.txt"));int len=0;char[]b=new char[1024*10000];while ((len=a1.read(b))!=-1) {

a2.write(b,0,len);

}

a1.close();

a2.close();

}//6.字符输出缓冲流!

private static void bufferedWriter() throwsIOException{

BufferedWriter a1=new BufferedWriter(new FileWriter("d:\\game\\aaa.txt"));

a1.write("你好");

a1.flush();

String b="zhou xu feng";

a1.write(b,0,8);

a1.flush();

a1.close();

}//5.字符输入缓冲流!

private static void bufferedReader() throwsIOException {int num=0;

BufferedReader a1=new BufferedReader(new FileReader("d:\\game\\aa.txt"));

String line;//缓冲流特有方法 读取文本单行!

byte []b=new byte[1024*10]; //快速读取!

while ((line=a1.readLine())!=null) { //集合非空!

num++;

System.out.println("第"+num+"行的内容 "+line);

}

a1.close();

}//4.普通字节流拷贝文件!

private static void copy02() throwsIOException{long t1=System.currentTimeMillis();

FileInputStream a1=new FileInputStream("E:\\代码\\27\\视屏\\1.mp4");

FileOutputStream a2=new FileOutputStream("d:\\1.mp4");int len=0;byte []b=new byte[1024*10000];while ((len=a1.read(b))!=-1) {

a2.write(b,0,len);

}

a1.close();

a2.close();long t2=System.currentTimeMillis();

System.out.println("利用字节流复制文件的时间!"+(t2-t1)+"毫秒");

}//3.字节缓冲流拷贝文件! 速度快!

private static void copy01() throwsIOException{long t1=System.currentTimeMillis();

BufferedInputStream a1=new BufferedInputStream(new FileInputStream("E:\\代码位置\\27\\视屏\\1.mp4"));

BufferedOutputStream a2=new BufferedOutputStream(new FileOutputStream("d:\\1.mp4"));int len=0;byte []b=new byte[1024*10000];while ((len=a1.read(b))!=-1) {

a2.write(b,0,len);

}

a1.close();

a2.close();long t2=System.currentTimeMillis();

System.out.println("利用字节缓冲流复制文件的时间!"+(t2-t1)+"毫秒");

}//2.字节输出缓冲流

private static void bufferedOutputStream() throwsIOException {

BufferedOutputStream a1=new BufferedOutputStream(new FileOutputStream("d:\\game\\aa.txt"));

a1.write(100);//添加字符串!

byte b[]="zhou xu feng".getBytes();

a1.write(b,0,12);

a1.close();

}//1. 字节输入缓冲流 读! 慢 快!

private static void bufferedInputStream() throwsIOException{

BufferedInputStream a1=new BufferedInputStream(new FileInputStream("d:\\game\\aa.txt"));/*1.快速读取方式

int len=0;

byte[] b=new byte[1024*10];

while ((len=a1.read(b))!=-1) {

System.out.println(new String(b,0,len));

}*/

//普通方式!

int len=0;while ((len=a1.read())!=-1) {

System.out.print((char)len+" "); //直接输出len 是一堆数字 通过(char)将他们转换成字符

}

a1.close();

System.out.println("===================");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值