一.数据操作流(操作基本类型数据的流)
可以操作基本数据类型的数据
DataInputStream
DataOutputStream
二.内存操作流
有些时候,我们操作完毕后,未必需要产生一个文件,就可以使用内存操作.
三种:
A:ByteArrayInputStream,ByteArrayOutputStream
B:CharArrayReader,CharArrayWriter
C:StringReader,StringWriter
三.打印流
字节打印流,字符打印流
特点:
A:只操作目的地,不操作数据源
B:可以操作任意类型的数据
C:如果启动了自动刷新,在调用println()方法的时候,能够换行并刷新
D:可以直接操作文件
PrintWriter
四.标准输入输出流
System类下面有两个字段
in 标准输入流
out 标准输出流
五.随机访问流
可以按照文件指针的位置写数据/读数据.
RandomAccessFile
构造方法:
RandomAccessFile(String name, String mode);
mode是操作模式r:只读 rw:读写,常用 还有其他值.
六.合并流
把多个输入流的数据写到一个输出流中.
SequenceInputStream(InputStream s1, InputStream s2);
SequenceInputStream(Enumeration<? extends InputStream> e);
七.序列化流
序列化:
可以把对象写入文本文件\网络中传输
只需让被序列化的对象实现序列化接口即可.
注意:把数据写到文件后,再去修改类会产生问题,在类文件中,给出一个固定的序列化id值就可解决.
反序列化:
把流还原成对象.
八.Properties
是一个集合类.HashTable的子类
特有功能:
public Object setProperties(String key, String value);
public String getProperty(String key);
public Set<String> stringPropertyNames();
和IO流结合的方法:
把键值对形式的文件文件内容加载到集合中.
public void load(Reader reader);
public void load(InputStream inStream);
把集合中的数据存储到文本文件中
public void store(Writer writer,String comments);
public void store(OutputStream Out,String comments);
九.NIO
JDK4出现的NIO,对之前的IO操作进行了优化,提高了效率.
JDK7的NIO的使用:
Path:路径
Paths:通过静态的方法返回一个路径
Files:提供常见的功能,例如:复制文本文件,把集合中的数据写到文本文件中等.
网友评论