java输入输出流的本质是什么?

如题所述

Java输入输出流的本质是I/O操作,是指使用Java进行输入输出操作。Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件、内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。

Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的。在这其中InputStream和OutputStream在早期的Java版本中就已经存在了,它们是基于字节流的,而基于字符流的Reader和 Writer是后来加入作为补充的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-17
NONONO,输入输出流是相对于你的程序说的,也就是站在程序的方向看输入还是输出,例如FileInputStream,Input写入对吧,那么我们站在程序的方向来看,就是源文件指向程序,FileOutputStream,OutPut写出,同理,就是程序指向源文件;再看,FileWriter,writer写,同理,就是程序指向源文件,反之FileReader读,站在程序角度,就是程序读源文件,顺序就是源文件指向程序。
第2个回答  2018-01-31
别误人子弟了
输入输出不是对机器而言的
输入输出是相对于程序来说的。程序运行时是在内存中的
输入是指将硬盘或其他存储设备的数据读入内存
输出是指将内存中的数据写入存储设备
所以说输入流是用来读取的,输出流是用来写入的,没有带上主语和宾语
所以你觉得不通顺
而他们的本质就是数据传输的媒介或者通道