1、打印流 PrintWriter与printStream 可以直接操作输入流和文件。
2、序列流 SequenceInputStream 对多个流进行合并。 3、操作对象流 ObjectInputStream与ObjectOutputStream 被操作的对象实现Serializable(标记接口)。 另外注意,由于可能后期会修改类定义,类的序列号就会发生变化。可通过自设一个序列号,如下所示:
4、RandomAccessFile 随机访问文件,自身具备读写的方法。 通过skipBytes(int x), seek(int x) 来达到随机访问。 5、管道流 PipedInputStream 和PipedOutputStream 输入输出可以直接进行连接,通过结合线程使用。
6、RandomAccessFile
7、字符编码 字符流的出现是为了方便操作字符,随之加入了编码转换,可通过子类转换流来完成: InputStreamReader OutputStreamWriter 在这两个对象进行构造的时候可以加入字符集。
编码: 字符串变成字节数组。
String -->
byte[]: str.getBytes();
解码: 字节数组变成字符串。
byte[] -->
String:
new String(
byte[]);