当前位置:网站首页>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
边栏推荐
- How do architects draw system architecture blueprints?
- CorelDRAW plug-in -- GMS plug-in development -- Introduction to VBA -- GMS plug-in installation -- Security -- macro Manager -- CDR plug-in (I)
- TYUT太原理工大学2022数据库考试题型大纲
- Fgui project packaging and Publishing & importing unity & the way to display the UI
- 学编程的八大电脑操作,总有一款你不会
- TYUT太原理工大学2022数据库题库选择题总结
- [while your roommate plays games, let's see a problem]
- 一文搞定 UDP 和 TCP 高频面试题!
- Inheritance and polymorphism (I)
- E-R graph to relational model of the 2022 database of tyut Taiyuan University of Technology
猜你喜欢

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

Abstract classes and interfaces

抽象类和接口

学编程的八大电脑操作,总有一款你不会
![Heap sort [handwritten small root heap]](/img/f0/6efda3c6f499a32671a935dd2f21db.png)
Heap sort [handwritten small root heap]

Application architecture of large live broadcast platform

Novatel board oem617d configuration step record

Common method signatures and meanings of Iterable, collection and list

Decomposition relation model of the 2022 database of tyut Taiyuan University of Technology

MySQL Database Constraints
随机推荐
Small exercise of library management system
Introduction pointer notes
Network layer 7 protocol
165. Compare version number - string
String class
Ten minutes to thoroughly master cache breakdown, cache penetration, cache avalanche
Answer to "software testing" exercise: Chapter 1
【话题终结者】
View UI Plus 发布 1.3.1 版本,增强 TypeScript 使用体验
系统设计学习(一)Design Pastebin.com (or Bit.ly)
架构师怎样绘制系统架构蓝图?
Voir ui plus version 1.3.1 pour améliorer l'expérience Typescript
阿里云微服务(一)服务注册中心Nacos以及REST Template和Feign Client
TYUT太原理工大学2022数据库大题之数据库操作
Record: I accidentally wrote a recursion next time
阿里云微服务(四) Service Mesh综述以及实例Istio
GNSS positioning accuracy index calculation
图书管理系统小练习
Design a key value cache to save the results of the most recent Web server queries
错误: 找不到符号