java里面的iO流
对于Java里面的io的解释来自官方的说法是
在 Java 中,I/O(Input/Output)流是用于处理输入和输出操作的机制。I/O 流允许程序从外部设备(如键盘、文件等)读取数据,并将数据写入到外部设备中。
I/O 流被划分为两种类型:
1.输入流(Input Stream):用于从源(例如键盘、文件或网络连接)读取数据到程序中。输入流的作用类似于将数据流入程序,可以通过输入流逐个地读取数据。
2.输出流(Output Stream):用于将程序中的数据写入到目标(例如文件、网络连接或屏幕)中。输出流的作用类似于将数据流出程序,可以通过输出流逐个地向目标写入数据。
一、什么是IO流
-
I:Input(输入)
-
O:Output(输出)
通过我们的IO可以进行硬盘文件的读和写的工作
二、IO流的分类
1.按照流的方向我们可以知道是这样分类的
这里以内存作为我们的参照物:
往内存中去:叫做输入(Input)。或者叫做读(Read)。
从内存中出来:叫做输出(Output)。或者叫做写(Write)
2.按照读取数据方式不同来分类:
- 按照
字节
的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制位。
这种流是万能的,什么类型的文件都可以读取。包括:文本文件,图片,声音文件,视频文件
等…
对于IO流的网上的清晰认识和理解是这样的
[eg.]((14条消息) Java IO流(超详细!)_一个快乐的野指针~的博客-CSDN博客)
假设文件file1.txt,采用字节流的话是这样读的:
a中国bc张三fe
第一次读:一个字节,正好读到’a’
第二次读:一个字节,正好读到’中’字符的一半。
第三次读:一个字节,正好读到’中’字符的另外一半。
- 按照 字符 的方式读取数据的,一次读取一个字符.
这种流是为了方便读取 普通文本文件 而存在的,这种流不能读取:图片、声音、视频等文件。只能读取 纯文本文件,连word文件都无法读取。
注意:
纯文本文件,不单单是.txt文件,还包括 .java、.ini、.py 。总之只要 能用记事本打开 的文件都是普通文本文件。
eg.
假设文件file1.txt,采用字符流的话是这样读的:
a中国bc张三fe
第一次读:'a’字符('a’字符在windows系统中占用1个字节。)
第二次读:'中’字符('中’字符在windows系统中占用2个字节。)
从上面我们得到的流的分类是:
- 输入流、输出流
- 字节流、字符流
对于这里io的学习我认为会在后面的GUI编程和windows网络编程中遇到