当前位置:网站首页>Comparison between FileInputStream and bufferedinputstream
Comparison between FileInputStream and bufferedinputstream
2022-07-06 13:20:00 【[email protected]】
InputStream yes Java Standard library provides the most basic input stream , be located java.io In the bag ,InputStream Is an abstract class , Is a superclass of all input streams
FileInputStream yes InputStream Subclasses of , Reading data from a file stream .FileInputStream It's reading a file to do InputStream.
BufferedInputStream Is a cached input stream . Inherited from FilterInputStream. The function is to add some functions to another input stream .BufferedInputStream It's in some other InputStream Outside , It's a caching function , To improve the one inside InputStream Performance of ( If possible ), The function is to add some functions to another input stream . It can't separate itself from the one in it , So you can put BufferedInputStream Set on FileInputStream Outside , To improve FileInputStream Performance of .
The difference is :
FileInputStream It's a byte stream ,BufferedInputStream Is a byte buffer stream , Use BufferedInputStream Reading resource ratio FileInputStream The efficiency of reading resources is high ,FileInputStream Of read() Methods will block ;
That is to say , When the buffer size ratio 8192 When I was a child ,BufferedInputStream It's more efficient .
BufferedInputStream One defaults to 8192 Byte buffer , When the customized buffer is smaller than 8192 When , By default, it is read from the hard disk at one time 8192 Bytes into memory , Then only return data according to the customized buffer amount each time , The performance is good because it reduces the number of times to read the hard disk .
The following code will better help you understand .
Code implementation :
FileInputStream read() Method realization :
public class Demo05 {
public static void main(String[] args) throws IOException {
//InputStream Byte input stream parent
// characteristic : Read the input stream of byte content
FileInputStream fis = new FileInputStream("E:\\KuGou\\test02.txt");
// Read byte by byte : Every time you call read() Method , Will read the disk once , Return to one int Byte value of type
int data = -1;
while((data=fis.read())!=-1) {
System.out.println(data);
}
System.out.println("-----------");
// Mode two
// Bulk read ( Self built buffer ): Every time you call read( Buffer byte array ) Method , Will read the disk once , Return to this
// And will read the content , Fill in the self built buffer
// Read to the end of the file , return -1
byte[] buff = new byte[4096];// The byte array represents a buffer
int len = -1;
while((len=fis.read(buff))!= -1) {
System.out.println(Arrays.toString(buff));
}
}
}BufferedInputStream read() Method code implementation
public class Demo05 {
public static void main(String[] args) throws IOException {
//InputStream Byte input stream parent
//BufferedInputStream when FilterInputStream packing ( decorate ) Subclasses of the device
// characteristic : Built in cache ( Default 8192 Bytes ), Must cooperate FileInputStream Class to work
BufferedInputStream bos = new BufferedInputStream(new FileInputStream("E:\\ Wallpaper sum \\ wallpaper \\ Yang Yang \\young.jpg"));
// Read
// Mode one : Read byte by byte , Every call read() Method , All will be here BufferedInputStream Read a byte from the cache of
// After reading the contents of the buffer , Will be one-time fill full
//bos.read();
// Mode two :( recommend )
// Bulk read ( Self built cache ):
byte[] buffData =new byte[128];
int size = -1;
while((size = bos.read(buffData))!=-1) {
System.out.println(Arrays.toString(buffData));
}
}
}
版权声明
本文为[[email protected] Yummy]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/187/202207060916019897.html
边栏推荐
- TYUT太原理工大学2022数据库大题之概念模型设计
- View UI plus released version 1.3.1 to enhance the experience of typescript
- TYUT太原理工大学2022数据库题库选择题总结
- 分支语句和循环语句
- Atomic and nonatomic
- TYUT太原理工大学2022数据库大题之分解关系模式
- 初识C语言(下)
- 抽象类和接口
- 六种集合的遍历方式总结(List Set Map Queue Deque Stack)
- System design learning (III) design Amazon's sales rank by category feature
猜你喜欢

十分钟彻底掌握缓存击穿、缓存穿透、缓存雪崩

View UI Plus 发布 1.2.0 版本,新增 Image、Skeleton、Typography组件

121道分布式面试题和答案

TYUT太原理工大学2022数据库大题之概念模型设计

Alibaba cloud microservices (II) distributed service configuration center and Nacos usage scenarios and implementation introduction

Role movement in the first person perspective

View UI plus released version 1.2.0 and added image, skeleton and typography components

系统设计学习(一)Design Pastebin.com (or Bit.ly)

如何保障 MySQL 和 Redis 的数据一致性?

System design learning (I) design pastebin com (or Bit.ly)
随机推荐
View UI Plus 发布 1.2.0 版本,新增 Image、Skeleton、Typography组件
FileInputStream和BufferedInputStream的比较
121道分布式面试题和答案
TYUT太原理工大学2022软工导论简答题
Several high-frequency JVM interview questions
13 power map
String类
Alibaba cloud microservices (I) service registry Nacos, rest template and feign client
Conceptual model design of the 2022 database of tyut Taiyuan University of Technology
arduino+DS18B20温度传感器(蜂鸣器报警)+LCD1602显示(IIC驱动)
TYUT太原理工大学2022软工导论考试题型大纲
ROS machine voice
View UI Plus 發布 1.3.1 版本,增强 TypeScript 使用體驗
Alibaba cloud microservices (II) distributed service configuration center and Nacos usage scenarios and implementation introduction
面试必备:聊聊分布式锁的多种实现!
异常:IOException:Stream Closed
IPv6 experiment
2022 National Games RE1 baby_ tree
Chromatic judgement bipartite graph
Decomposition relation model of the 2022 database of tyut Taiyuan University of Technology