字节流_BufferedInputStream类

来源:互联网 发布:韩孝珠 只有你用的mac 编辑:程序博客网 时间:2024/05/16 15:01
输入字节流:
-------------| InputStream 此抽象类是表示字节输入流的所有类的超类。 
------------------| FileInputStream 从文件系统中的某个文件中获得输入字节。
------------------| BufferedInputStream 缓冲输入字节流,缓冲输入字节流的出现主要是为了提高读取文件数据的效率。
    其实BufferedInputStream类内部只不过维护了一个8kb的字节数组而已。
注意:凡是缓冲流都不具备读写文件的能力。
    BufferedInputStream本身不具备读写文件的能力,所以需要借助FileInputStream来读取文件的数据。
    
使用BufferedInputStream的步骤:
    1.找到目标文件。
    2.建立数据的输入通道。
    3.建立缓冲输入字节流。
    4.关闭资源。
  1. package com.cn.buffered;
  2. import java.io.BufferedInputStream;
  3. import java.io.File;
  4. import java.io.FileInputStream;
  5. import java.io.FileNotFoundException;
  6. import java.io.IOException;
  7. /**
  8. * Author:Liu Zhiyong(QQ:1012421396)
  9. * Version:Version_1
  10. * Date:2016年7月26日16:03:38
  11. * Desc:
  12. 输入字节流:
  13. -------------| InputStream 此抽象类是表示字节输入流的所有类的超类。
  14. ------------------| FileInputStream 从文件系统中的某个文件中获得输入字节。
  15. ------------------| BufferedInputStream 缓冲输入字节流,缓冲输入字节流的出现主要是为了提高读取文件数据的效率。
  16. 其实BufferedInputStream类内部只不过维护了一个8kb的字节数组而已。
  17. 注意:凡是缓冲流都不具备读写文件的能力。
  18. BufferedInputStream本身不具备读写文件的能力,所以需要借助FileInputStream来读取文件的数据。
  19. 使用BufferedInputStream的步骤:
  20. 1.找到目标文件。
  21. 2.建立数据的输入通道。
  22. 3.建立缓冲输入字节流。
  23. 4.关闭资源。
  24. */
  25. public class Demo1 {
  26. public static void main(String[] args) throws IOException {
  27. readTest();
  28. }
  29. public static void readTest() throws IOException{
  30. //1.找到目标文件。
  31. File file = new File("f:/a.txt");
  32. //建立数据的输入通道
  33. FileInputStream fileInputStream = new FileInputStream(file);
  34. //建立缓冲输入字节流
  35. //BufferedInputStream本身不具备读写文件的能力,所以需要借助FileInputStream来读取文件的数据。
  36. BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
  37. //读取数据
  38. int content = 0;
  39. while((content = bufferedInputStream.read()) != -1){
  40. System.out.print((char)content);
  41. }
  42. //关闭资源
  43. //fileInputStream.close();//这里就不需要关
  44. //只需要关bufferedInputStream就可以了,BufferedInputStream的close()方法实际上关闭的是FileInputStream。
  45. bufferedInputStream.close();
  46. }
  47. }
BufferedInputStream读取数据效率高的原因:

0 0
原创粉丝点击