您的位置:首页 > 编程语言 > Java开发

java学习之IO其他流

2015-09-23 20:22 351 查看
操作基本数据类型的流:

操作基本数据类型
•DataInputStream
•DataOutputStream

内存操作流:用于处理临时存储信息的,程序结束,数据就从内存中消失。

操作字节数组

•ByteArrayInputStream
•ByteArrayOutputStream
操作字符数组
•CharArrayReader
•CharArrayWrite
操作字符串
•StringReader
•StringWriter

打印流:只有写数据,没有读取数据

打印流概述
•字节流打印流:PrintStream
•字符打印流:PrintWriter
打印流特点:
•只能操作目的地,不能操作数据源。
•可以操作任意类型的数据。
•如果启动了自动刷新,能够自动刷新。
•可以操作文件的流

标准输入输出流:

lSystem类中的字段:in,out。

l它们各代表了系统标准的输入和输出设备。

l默认输入设备是键盘,输出设备是显示器。

lSystem.in的类型是InputStream.

lSystem.out的类型是PrintStream,是OutputStream的子类FilterOutputStream的子类.从而调用PrintStream中的println()等方法输出。

随机访问流:

RandomAccessFile概述
•RandomAccessFile类不属于流,是Object类的子类。但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入。
public RandomAccessFile(String name,String mode):第一个参数是文件路径,第二个参数是操作文件的模式。

模式有四种,我们最常用的是“rw”,这种方式表示既可以写数据,也可以读取数据。

合并流:

SequenceInputStream概述
•SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因此,该流也被称为合并流。
SequenceInputStream的构造方法
•SequenceInputStream(InputStream s1, InputStream s2) :两个流的合并
•SequenceInputStream(Enumeration<? extends InputStream> e):多个流的合并
•把多个文件的内容写入到一个文本文件

序列化流:也叫对象操作流,把对象按照流一样的方式存入文本文件或者在网络中传输。

序列化流


ObjectOutputStream

反序列化流:把文本文件中的流对象或者网络中的流对象还原成对象。

ObjectInputStream

注意:对象所属的类需要实现序列化接口。未实现Serializable接口的类将无法使其任何状态序列化或反序列化。
该接口没有任何方法。类似于这种没有方法的接口被称为标记接口。

序列化操作问题
•为什么要实现序列化?
•如何实现序列化?
•序列化数据后,再次修改类文件,读取数据会出问题,如何解决呢?

使用transient关键字声明不需要序列化的成员变量,也即此成员标量的值不能被记住。

Properties集合:

Properties:属性集合类。是一个可以和IO流相结合使用的集合流。
Properties可保存在流中或从流中加载,属性列表中每个键及其对应值都是一个字符串。

Properties的特殊功能
•public Object setProperty(String key,String value):添加元素
•public String getProperty(String key):获取元素
•public Set<String> stringPropertyNames():获取所有的键的集合

Properties和IO流的结合使用
•public void load(Reader reader):把文件中的数据读取到集合中
•public void store(Writer writer,String comments):把集合中的数据存储到文件

注意:文件中的形式必须是键值对形式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: