一、回顾
1、流(stream):是一连串流动的字符,以先进先出的方式传输数据的通道.
1-1、输入流:从指定的数据源(文件,存储介质,网络)读数据到内存(program),读操作。
1-2、输出流:从内存将数据写到目的地(dest),比如:文件,存储介质等等,写操作。
1-3、字节流:基本单位是字节,最底层。
1)InputStream
int read():执行一次,读取一个字节,返回值是该字节对应的整数值,当返回值是-1时,说明读到资源的尾部。
int read(byte[] array):读取时,是用array作为容器来读取,返回值是某次读操作时,容器中实际读取到的字节数,当是-1时,表示读到了资源的末尾。
int read(byte[] array,int off,int length):读取时,是用array作为容器来读取,返回值是某次读操作时,容器中实际读取到的字节数,但是,在读取时是从数组的off位置开始存储,读length个字节。
int available():表示还有多少个字节。
skip(long):读操作时,跳过多少个字节。
close():关闭输入流。
FileInputStream:
ByteArrayInputStream:要有一个字节数组作为数据源。
2)OutputStream
write(int c):通过输出流对象,写一个字节到目的地。
write(byte[]):通过输出流对象,将字节数组中的内容写到目的地。
write(byte[],off,length):通过输出流对象,将字节数组的相对偏移量写
到目的地。
flush():清空缓存。
close():关闭输出流。
FileOutputStream:
ByteArrayOutputStream:
write(byte[])
writTo(OutputStrem):
字符流:基本单位是字符(两个字节表示一个字符)。
1)Reader:
创建字符输入流对象
进行读操作
应用读到的数据
关闭输入流对象
2)writer:
创建字符输出流对象
进行写操作
清空缓存
关闭输出流对象
题目:自定义学员类,通过输出流对象向指定数据文件写入若干学员对象
信息,然后,通过输入流对象从自定文件读取所有学员信息,放入
集合中,并对他们按照不同属性排序,要求,读写操作都要封装成
方法。
\r回车:回到该行头部
\n换行:下一行
\r\n
扩展:
1) ObjectInputStream
输入流:读取对象
readObject()
2) ObjectOutputStream
输出流:写对象
writeObject(obj)
在进行对象读写时,要求被读写的对象类型实现了Serializable接口,此
接口是序列化接口,其实就是个记号(标识,说明该类可以序列化)。
序列化:将对象数据保存到文件,或者存储介质。
反序列化:将存储在文件或者存储介质的对象数据信息,还原到内存,重
构对象。
1、流(stream):是一连串流动的字符,以先进先出的方式传输数据的通道.
1-1、输入流:从指定的数据源(文件,存储介质,网络)读数据到内存(program),读操作。
1-2、输出流:从内存将数据写到目的地(dest),比如:文件,存储介质等等,写操作。
1-3、字节流:基本单位是字节,最底层。
1)InputStream
int read():执行一次,读取一个字节,返回值是该字节对应的整数值,当返回值是-1时,说明读到资源的尾部。
int read(byte[] array):读取时,是用array作为容器来读取,返回值是某次读操作时,容器中实际读取到的字节数,当是-1时,表示读到了资源的末尾。
int read(byte[] array,int off,int length):读取时,是用array作为容器来读取,返回值是某次读操作时,容器中实际读取到的字节数,但是,在读取时是从数组的off位置开始存储,读length个字节。
int available():表示还有多少个字节。
skip(long):读操作时,跳过多少个字节。
close():关闭输入流。
FileInputStream:
ByteArrayInputStream:要有一个字节数组作为数据源。
2)OutputStream
write(int c):通过输出流对象,写一个字节到目的地。
write(byte[]):通过输出流对象,将字节数组中的内容写到目的地。
write(byte[],off,length):通过输出流对象,将字节数组的相对偏移量写
到目的地。
flush():清空缓存。
close():关闭输出流。
FileOutputStream:
ByteArrayOutputStream:
write(byte[])
writTo(OutputStrem):
字符流:基本单位是字符(两个字节表示一个字符)。
1)Reader:
创建字符输入流对象
进行读操作
应用读到的数据
关闭输入流对象
2)writer:
创建字符输出流对象
进行写操作
清空缓存
关闭输出流对象
题目:自定义学员类,通过输出流对象向指定数据文件写入若干学员对象
信息,然后,通过输入流对象从自定文件读取所有学员信息,放入
集合中,并对他们按照不同属性排序,要求,读写操作都要封装成
方法。
\r回车:回到该行头部
\n换行:下一行
\r\n
扩展:
1) ObjectInputStream
输入流:读取对象
readObject()
2) ObjectOutputStream
输出流:写对象
writeObject(obj)
在进行对象读写时,要求被读写的对象类型实现了Serializable接口,此
接口是序列化接口,其实就是个记号(标识,说明该类可以序列化)。
序列化:将对象数据保存到文件,或者存储介质。
反序列化:将存储在文件或者存储介质的对象数据信息,还原到内存,重
构对象。