1 IO
对于程序来说,将硬盘或者网络上的数据读取到内存就是Input.将内存中的数据写入到硬盘或者网络就是Output.
1.1 用于磁盘文件读写的IO类
1.2 InputStream
InputStream是抽象类,无法实例化对象.
1 常用方法
read()//从输入流中读取数据的下一个字节,返回类型为相应字节的int类型数据,读取到文件末尾是返回-1
read(byte[] b) //从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中,读取到文件末尾是返回-1
read(byte[] b, int off, int len) //将输入流中最多 len 个数据字节读入 byte 数组,在off位置开始写入.
close()//关闭此输入流并释放与该流关联的所有系统资源
1.3 FileInputStream
1 构造方法
FileInputStream(String path)//传入文件路径字符串
FileInputStream(File file)//传入File类型实例化对象
2 常用方法
参考InputStream常用方法.
1.4 BufferedInputStream
1 构造方法
BufferedInputStream(InputStream in) //传入输入流 in
BufferedInputStream(InputStream in, int size) //传入输入流 in,并定义缓存大小为size
2 常用方法
参考InputStream常用方法.
1.5 ObjectInputStream
反序列化类,反序列化的serialVersionUID必须与当前程序运行时加载的类的UID一致,否则不能实现反序列化.自动生成的UID,会随着程序的更改而变更,从而实现反序列化的版本控制.
1 构造方法
ObjectInputStream(InputStream in) //传入输入流 in
2 常用方法
readObject() //读取对象,返回一个Object对象.实现反序列化
1.6 OutputStream
OutputStream是抽象类,无法实例化对象.
1 常用方法
write(byte[] b) //将byte数组写入此输出流
write(byte[] b, int off, int len) //将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流
write(int b) //将指定的字节b 写入此输出流
flush()//刷新此输出流并强制写出所有缓冲的输出字节
close() //关闭此输出流并释放与此流有关的所有系统资源
1.7 FileOutputStream
1 构造方法
FileOutputStream(File file) //传入File类型实例化对象
FileOutputStream(File file, boolean append) //传入File类型实例化对象,append值为true时在文件末尾写入.false覆盖源文件
FileOutputStream(String name) //传入文件路径字符串
FileOutputStream(String name, boolean append) //传入文件路径字符串,append值为true时在文件末尾写入.false覆盖源文件
2 常用方法
参考OutputStream常用方法.
1.8 BufferedOutputStream
1 构造方法
BufferedOutputStream(OutputStream out) //传入一个输出流
BufferedOutputStream(OutputStream out, int size) //传入一个输出流,并定义缓存大小为size
2 常用方法
参考OutputStream常用方法.
1.9 ObjectOutputStream
序列化内存中的对象,并将生成的对象通过流传输.
1 构造方法
ObjectOutputStream(OnputStream out) //传入一个输出流
2 常用方法
writeObject() //序列化对象
2.0 Reader
Reader是抽象类,无法被实例化
1 常用方法
read() //读取一个字符
read(char[] cbuf) //将读取的数据存储到char数组cbuf中
read(char[] cbuf, int off, int len) //江都区的数据存储到char数组中,从off下标位置开始,长度为len.
2.1 FileReader
1 构造方法
FileReader(File file) //传入一个File对象
FileReader(String fileName) //传入一个文件路径
2 常用方法
参考Reader方法
2.2 BufferedReader
1 构造方法
BufferedReader(Reader in) //传入一个字符输入流对象
BufferedReader(Reader in, int sz) //传入一个字符输入流对象,并设置Buffered的缓存大小
2 常用方法
参考Reader方法.
- 特有方法:
readLine() //读取一行文本, 返回值类型 String
2.3 Writer
Writer为抽象类,不能被实例化
1 常用方法
write(char[] cbuf) // 将字符数组 cbuf写入到此输出流
write(char[] cbuf, int off, int len) //将字符数组 cbuf写入到此输出流.从off下标位置开始,长度为len
write(int c) // 将字符数据 c写入到此输出流
write(String str) //将字符串数据 str写入到此输出流
write(String str, int off, int len) //将字符串数据 str写入到此输出流,从字符串的字符下标off开始,长度为len
flush()//刷新该流的缓冲
close()//关闭流资源
append(char c)//将指定字符c追加到输出流。
2.4 FileWriter
1 构造方法
FileWriter(File file) //传入File类型实例化对象
FileWriter(File file, boolean append) //传入File类型实例化对象,并设置是否在文件末尾续写
FileWriter(String fileName) //传入文件路径
FileWriter(String fileName, boolean append) //传入文件路径,并设置是否在文件末尾续写
2 常用方法
参考Writer方法
2.5 BufferedWriter
1 构造方法
BufferedWriter(Writer out) //传入一个Writer类型的对象
BufferedWriter(Writer out, int sz) //传入一个Writer类型的对象,并设置缓存大小
2 常用方法
参考Writer方法
- 特有方法
newline()//写入一个换行符
1 flush()
在学习过程中,发现close()方法中已经包含了flush()方法.