输入输出流
RandomAccessFile(file,mode)
mode:”r”,”rw”
EOFException:读到文件末尾
InputStream、OutputStream
过滤流
FilterInputStream(InputStream in)
FilterOutputStream(OutputStream out)
在原有输入输出流的基础上提供新的功能
- BufferedInputStream(有缓冲区,不必每次访问外设)
- DataInputStream:基本数据类型的读写,readInt/Float/Boolean
- PipedInputStream(PipedOutputStream src)
构造:PipedInputStream(PipedOutputStream src)
connect(PipedOutputStream src)字符流
reader
read()
readLine()
markSupported()生成流对象 public BufferedReader(Reader in)
PrintWriter(new FileWriter(“test.txt”),true)InputStreamReader 字节流和字符流的中介
public InputStreamReader(InputStream in,String enc(编码格式))
public String getEncoding()
System.in:以字节为单位的输入流System类
重定向:System.setIn(InputStream)流结束的判断
read()返回-1
readXXX()返回EOF
readLine()返回nullI/O异常
Object Serialization
InputStream子类:ObjectInputStream对象输入流对象的序列化
- 支持远程方法调用(RMI)
- 支持本地存储(JavaBean)
- 实现接口Serialization(可串行化)才可以被序列化,作为标志。
- 调用readObject(),writeObject()
从对象输入流读对象时需要.class文件(当前目录下) ClassNotFoundException
Serialization控制方法:
- 关键字transient(该数据不会被写入,文件中为null)
- 实现Externalization接口,writeExternal()方法,readExternal()需要不带参数的public构造方法