1.什么是IO
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。
IO又分为流IO(java.io)和块IO(java.nio)
Java.io是大多数面向数据流的输入/输出类的主要软件包。此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO。
流IO的好处是简单易用,缺点是效率较低。块IO效率很高,但编程比较复杂。
这里先讲流IO。
2.流的基本概念
在电脑上的数据有三种存储方式,一种是外存,一种是内存,一种是缓存。比如电脑上的硬盘,磁盘,U盘等都是外存,在电脑上有内存条,缓存是在CPU里面的。外存的存储量最大,其次是内存,最后是缓存,但是外存的数据的读取最慢,其次是内存,缓存最快。这里总结从外存读取数据到内存以及将数据从内存写到外存中。对于内存和外存的理解,我们可以简单的理解为容器,即外存是一个容器,内存又是另外一个容器。那又怎样把放在外存这个容器内的数据读取到内存这个容器以及怎么把内存这个容器里的数据存到外存中呢?
在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:
标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就好像水管,将两个容器连接起来。将数据从外存中读取到内存中的称为输入流,将数据从内存写入外存中的称为输出流。
我的理解是:从eclipse输出到文本文件txt中叫输出流,而从文本文件txt输入到eclipse叫作输入流。(所有此时文本文件txt对应是外存,而eclipse对应是内存,可能不太准确但是便于我自己的理解,有问题请指点)。

本文介绍了Java中的I/O操作,包括流IO和块IO的概念。流IO主要在java.io包中,适用于简单易用但效率较低的场景;块IO在java.nio包中,效率高但编程复杂。流IO中,输入流用于从外存(如文件)读取数据到内存,输出流则负责将内存中的数据写入外存。Java的I/O机制通过数据流将不同存储方式的数据进行传输,如同水管连接不同的容器。
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0
156

被折叠的 条评论
为什么被折叠?



