BufferedInputStream

 1 package file;
 2
 3 import java.io.BufferedInputStream;
 4 import java.io.File;
 5 import java.io.FileInputStream;
 6 import java.io.IOException;
 7
 8 public class Demo3 {
 9     public static void main(String[] args) throws IOException {
10         readTest();
11     }
12
13     //BufferedInputStream维护的是一个字节数组,8192
14     //凡是缓冲流,都不具备读写文件的能力
15     public static void readTest() throws IOException {
16         File file = new File("F:\\2.txt");
17         FileInputStream fileInputStream = new FileInputStream(file);
18         //建立缓冲输入字节流
19         //因为BufferedInputStream不具备读写文件的能力,要借助FileInputStream
20         BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);
21
22         //读取文件数据
23         int content = 0;
24         while((content = bufferedInputStream.read()) != -1) {
25             System.out.println((char)content);
26         }
27
28         //关闭资源
29         bufferedInputStream.close();    //实际上关闭的FileInputStream的close
30     }
31 }
时间: 2024-11-08 03:38:06

BufferedInputStream的相关文章

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自

IO BufferedOutputStream和BufferedInputStream

BufferedOutputStream FileOutputStream的子类,该类实现缓冲的输出流.通过设置这种输出流,应用程序就可以将各个字节写入基础输出流中,而不必为每次字节写入调用基础系统. 字段 protected byte[] buf 存储数据的内部缓冲区. protected int count 缓冲区中的有效字节数. 构造函数 BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的基础输出流. BufferedO

BufferedInputStream类和BufferedOutputStream类

BufferedInputStream类 第一种方法: import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; public class IntegerDemo { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStre

Java基础知识强化之IO流笔记28:BufferedOutputStream / BufferedInputStream(字节缓冲区流) 之BufferedOutputStream写出数据

1. BufferedOutputStream / BufferedInputStream(字节缓冲区流)的概述 通过定义数组的方式确实比以前一次读取一个字节的方式快很多,所以,看来有一个缓冲区还是非常好的.既然是这样的话,那么,java开始在设计的时候,它也考虑到了这个问题,就专门提供了带缓冲区的字节类.这种类被称为:缓冲区类(高效类) 写数据:BufferedOutputStream 读数据:BufferedInputStream 构造方法可以指定缓冲区的大小,但是我们一般用不上,因为默认缓

Java基础知识强化之IO流笔记29:BufferedOutputStream / BufferedInputStream(字节缓冲区流) 之BufferedInputStream读取数据

1. BufferedInputStream读取数据 BufferedInputStream构造方法,如下: 构造方法摘要 BufferedInputStream(InputStream in)           创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用. BufferedInputStream(InputStream in, int size)           创建具有指定缓冲区大小的 BufferedInputStream 并保存其参

BufferedInputStream 缓冲输入字节流 -------上

1 package com.BufferedInputStreamUse; 2 3 import java.io.BufferedInputStream; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.FileNotFoundException; 7 import java.io.IOException; 8 9 /* 10 我们清楚读取文件数据使用缓冲数组读取效率更高,sun也知道使用缓冲数组

JDK之BufferedInputStream分析

最近写了一个下载文件的功能. 因为文件是在另一台服务器上面,所以要读取网络文件,需用到HttpURLConnection类. 先贴出来代码. import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import j

BufferedInputStream的理解.

BufferedInputStream 自带 8M 缓冲区, 我们自己又定义 byte[] buf = new byte[1024*1024]; 那 bis.read(buf) 就会去, 8M 缓冲区取数据, 读到自己的 1M 缓冲区, 直到碰到 bos.write(buf,0,len)  把1M缓冲区的数据 放到 另外一个输出流的 8M 缓冲区里, 输出流 满8M 就往外写东西,

BufferedInputStream和BufferedOutputStream详解

这两个类分别是FilterInputStream和FilterOutputStream的子类,作为装饰器子类,使用它们可以防止每次读取/发送数据时进行实际的写操作,代表着使用缓冲区. 了解这两个类之前,我们有必要知道不带缓冲的操作,每读一个字节就要写入一个字节,由于涉及磁盘的IO操作相比内存的操作要慢很多,所以不带缓冲的流效率很低.带缓冲的流,可以一次读很多字节,但不向磁盘中写入,只是先放到内存里.等凑够了缓冲区大小的时候一次性写入磁盘,这种方式可以减少磁盘操作次数,速度就会提高很多! 而Buf

BufferedInputStream源码常用部分分析

public BufferedInputStream(InputStream in) { this(in, DEFAULT_BUFFER_SIZE); } public BufferedInputStream(InputStream in, int size) { super(in); if (size <= 0) { throw new IllegalArgumentException("Buffer size <= 0"); } buf = new byte[size]