File:文件操作
RandomAccessFile:随机读写流,文件内容操作
字节流(byte)
OutputStream:抽象类,从程序输出
换行:\r\n
InputStream
字符流
Writer:输出流
Reader:输入流
转换流
OutputStreamWriter:Writer的子类,将输出的字符流变为字节流
InputStreamReader:Reader的子类,将输入的字节流变为字符流
内存操作流
ByteArrayInputStream:内容写入内存
ByteArrayOutputStream:从内存读出内容
管道流:两个线程之间的通信,必须把输出流连在输入流上
PipedOutputStream:管道输出流,从线程输出内容
PipedInputStream:管道输入流,内容写入线程
打印流
PrintStream
装饰设计模式
printf()方法:格式化输出
System类对IO的支持
System.out:PrintStream的对象
System.err:PrintStream的对象,用来输出程序错误
System.in:键盘输入流,是InputStream类型对象
输入/输出重定向
BufferedReader:用于从缓冲区读取内容
构造方法只能接收字符输入流的实例
键盘输入数据
Scanner类
数据操作流
DataOutputStream:程序写入文件
DataInputStream:专门负责读取使用DataOutputStream输出的数据
合并流
SequenceInputStream
压缩流
ZipOutputStream:压缩文件、文件夹
ZipFile
ZipInputStream
回退流
PushbackInputStream
字符编码
编码转换方法:public byte[] getBytes(String charset)
对象序列化:只有属性被序列化
必须实现java.io.Serializable接口
ObjectOutputStream:对象输出流
ObjectInputStream:对象输入流
Externalizable接口
transient关键字:使用Serializable接口实现序列化时,不希望被序列化的属性,可以用transient进行声明
序列化一组对象
483
转载于:https://blog.51cto.com/carter/1650767