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):把集合中的数据存储到文件
注意:文件中的形式必须是键值对形式。
操作基本数据类型
•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):把集合中的数据存储到文件
注意:文件中的形式必须是键值对形式。
相关文章推荐
- JAVA 实现斗地主分牌
- JAVA中数据类型划分应该注意的事项
- JAVA Calendar实现出生天数计算
- Java 猜数字小游戏
- Java内存管理原理及内存区域详解
- java双重检测锁
- 杭电ACM2061java做法(PE)
- eclipse启动不了
- ListView在removeFooterView时报java.lang.ClassCastException错问题
- Java 设计模式(2)工厂模式
- Unable to locate Spring NamespaceHandler for XML schema namespace
- JAVA WEB 总结 Servlet篇
- Myeclipse_Pro_GA_2014的服务器视图(Servers)中的MyEclipse Derby选项如何去掉
- Spring 漏洞分析
- myeclipse 导入项目 输入此项目名不能运行问题
- java 安全了解
- kMeans算法JAVA实现
- ognl+struts2
- Java之旅Struts系列(3)——Struts2(前奏篇)
- 冒泡排序-Java