bufferinputStream,bufferoutputStream

buffer bufferinputStream,bufferoutputStream bufferReader bufferwriter

 
import java.io.BufferedOutputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 ​
 /*
 void flush()
 刷新缓冲输出流。
 void write(byte[] b, int off, int len)
 从指定的字节数组写入 len个字节,从偏移 off开始到缓冲的输出流。
 void write(int b)
 将指定的字节写入缓冲的输出流。
 protected byte[] buf
 存储数据的内部缓冲区。
 protected int count
 缓冲区中有效字节的数量。
 ​
 Constructor and Description
 BufferedOutputStream(OutputStream out)
 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
 BufferedOutputStream(OutputStream out, int size)
 创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。
 ​
 1.创建一个FileOutoutStream对象
 2.创建BufferedoutputStream对象
 3.使用write把数据写入内部缓冲区
 4.使用flush刷新到文件
 5.释放资源
  */
 public class BufferedOutputStream01 {
 ​
     public static void main(String[] args) throws IOException {
         FileOutputStream fileOutputStream =new FileOutputStream("D:\\学习\\e.txt");
         BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream);
         bufferedOutputStream.write("写入数据".getBytes());
         bufferedOutputStream.flush();
         fileOutputStream.close();
     }
 }

 import java.io.BufferedInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
 ​
 /*
 protected byte[] buf
 存储数据的内部缓冲区数组。
 protected int count
 索引一大于缓冲区中最后一个有效字节的索引。
 protected int marklimit
 mark方法调用后,最大超前允许,后续调用 reset方法失败。
 protected int markpos
 pos字段在最后一个 mark方法被调用时的值。
 protected int pos
 缓冲区中的当前位置。
 ​
 BufferedInputStream(InputStream in)
 创建一个 BufferedInputStream并保存其参数,输入流 in ,供以后使用。  默认缓冲区大小
 BufferedInputStream(InputStream in, int size)
 创建 BufferedInputStream具有指定缓冲区大小,并保存其参数,输入流 in ,供以后使用。  指定缓冲区大小
 ​
  */
 public class BufferedInputStream01 {
     public static void main(String[] args) throws IOException {
        FileInputStream fileInputStream =new FileInputStream("D:\\学习\\e.txt");
 ​
         BufferedInputStream bufferedInputStream =new BufferedInputStream(fileInputStream);
 //        int len =0;
 //        while ((len=bufferedInputStream.read())!=-1){
 //            System.out.println(len);
 //        }
         byte[] bytes =new byte[1024];
         int len=0;
         while ((len=bufferedInputStream.read(bytes))!=-1){
             System.out.println(new String(bytes,0,len));
         }
         bufferedInputStream.close();
     }
 }
 
import java.io.*;
 ​
 /*
 练习复制
 1.创建字节缓冲输入流,构造方法中传递输入流
 2.创建字节缓冲输出流,构建方法中传递输出流
 3.使用read读取文件
 4.使用wrtie写入缓冲
 5.释放资源,会先吧缓冲区的数据写入文件
  */
 public class Copy01 {
     public static void main(String[] args) throws IOException, InterruptedException {
         long s =System.currentTimeMillis();//获取毫秒值
         BufferedInputStream bufferedInputStream =new BufferedInputStream(new FileInputStream("D:\\学习\\a1\\1.png"));
         BufferedOutputStream bufferedOutputStream =new BufferedOutputStream(new FileOutputStream("D:\\学习\\1.png"));
         byte[] bytes= new byte[1024];
         int len =0;//每次读取的有效字节个数
         while ((len=bufferedInputStream.read(bytes))!=-1){
             bufferedOutputStream.write(bytes,0,len);
         }
         bufferedInputStream.close();
         bufferedOutputStream.close();
         long e =System.currentTimeMillis();
         System.out.println("文件复制时间"+(e-s)+"毫秒");
     }
 ​
 }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值