Android中保存数据的方式有多种,包括文件存储、SharedPreference键值对存储以及数据库存储等。其中,文件存储是源自Java技术的最基本的数据存储方式。对文件的操作,在Java中,自然需要借助流的概念来处理,即通常所说的I/O流(输入输出流)。
一、输入与输出,参照物是什么?
经常说输入流和输出流,但是初学者经常搞不清楚哪个是输入流,哪个又是输出流。我们需要明白输入与输出是有参照物的,这个参照物就是“我们的程序”!就是说:
(1)把数据读到“程序”里来,则是输入流;
(2)把数据从“程序”里写入文件中(或其他目的地),则是输出流。
二、I/O的分类
(1)输入流
输出流
(2)字节流:处理二进制数据,比如,mp3文件中,并不存在字符这种概念;
字符流:处理文本数据,即人类可以识别的文字、字符等;
(3)节点流:真正处理数据的I/O流——就是一个普通的水管,用来送水的(数据);
处理流:用来在节点流基础上对数据进行再加工——在水管外面再加一层东西,为水管提供额外功能,如加热曾,磁化层。
三、I/O中的核心类与核心方法
(1)字节流
InputStream和OutputStream是所有字节流的父类,都是抽象类;
用得比较多