一.概述:

1.实例:
当玩拼图游戏时被打断,打断的过程中已经玩的游戏的进度不能丢失呀,这里可能会有疑问?游戏的进度为什么会丢失,因为游戏中的每一张图片是和序号一一对应的,这些数据在运行的过程当中都是保存在内存中的,内存中数据的特点就是不能永久化存储,程序停止,数据就会丢失:

因此可以添加一个存档功能解决数据丢失的问题,只需要把这些数据保存在硬盘的文件中,这样就可以永久化的存储数据了,在存储的时候其实就是把拼图的序号保存在硬盘中的文件中,下次再打开游戏的时候,就能从该文件中获取数据恢复游戏的进度,想要实现这个功能,就需要知道"文件的位置"、"如何传输"、"如何保存数据"和"如何读取数据":

IO流就是存储和读取数据的解决方案:

IO流和文件File息息相关:


如果想要读写文件里面存储的数据,就需要用到IO流。
2.IO流的作用:
-
把程序中的数据保存到本地文件中,这个动作也叫"写"出数据


-
把本地文件中的数据加载到程序当中,这个动作也叫"读取"数据


3.细节:IO流中,谁在读,谁在写?以谁为参照物看读写的方向呢?

答案:以程序(即内存,因为程序就是运行在内存当中的)为参照物进行读写,是程序在读取文件中的数据,是程序在往文件当中写出数据。
二.IO流的分类:

1.IO流按照流的方向进行分类:
可以分为输入流和输出流->
输入流用来把本地文件中的数据读取到程序中,输出流用来把程序中的数据写出到本地文件中。
2.IO流按照操作文件类型进行分类:
可以分为字节流和字符流->
其中字节流可以操作所有类型的文件,比如图片文件、文本文件、音频文件和视频文件等,
字符流只能操作纯文本文件。
因此可能会有疑问,字节流能操作所有类型的文件,字符流只能操作纯文本文件,那字符流还有意义吗?

先解释一下什么是纯文本文件,纯文本文件就是利用Windows操作系统自带的记事本打开并且能读懂的文件就是纯文本文件,其中Word的doc和docx文件、Excel的xlsx文件、Typora的md文件以及txt文本文件(记事本文件)他们是否是纯文本文件呢?
以Typora的md文件为例,判断是否是纯文本文件,
首先找到一个Typora的md文件:

右击该md文件->打开方式->记事本(注:如果没有记事本,可以在"选择其他应用"中找记事本,然后点击即可):

最终发现用记事本打开的内容和原md文件里的内容一致,所以Typora的md文件是纯文本文件(注:如果用记事本打开的内容和原文件里的内容不一致,那么该文件就不是纯文本文件):


验证其他文件是否是纯文本文件的方法和上述类似,
最终可知Word的doc和docx文件、Excel的xlsx文件都不是纯文本文件,Typora的md文件以及txt文本文件都是纯文本文件,所以在以后操作时遇到Word的doc和docx文件、Excel的xlsx文件就不能用字符流进行操作,只能用字节流进行操作,Typora的md文件以及txt文本文件既可以用字符流操作,也可以用字节流操作。
三.总结:

-
input译为输入,output译为输出
-
xml文件:配置文件;lrc文件:用来存放音乐的歌词的文件
-
txt文件、md文件、xml文件和lrc文件都是纯文本文件
四.ASCII码表:

上述图片中R之后的是S,不是X,打错了。

数字和字母之间通过ASCII码比较大小,
比如1的ASCII码为49,a的ASCII码为97,
那么a就比1大。
同理字母之间也是比较ASCII码,
比如B的ASCII码为66,a的ASCII码为97,
那么a就比B大。
总结:在ASCII编码标准中,数字的ASCII码值均小于字母(包括大写和小写),具体规则为:数字(0~9)<大写字母(A~Z)<小写字母(a~z)。
1133

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



