输入输出流体系
四个抽象父类(基类)
InputStream
FileInputStream
构造方法
1.以file对象为入参
2.以路径作为入参
普通方法
1.read()
2.read(byte[] bytes)
3.read(byte[],off,len)
4.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
5.available() 长度
子类 DataInputStream
1.read()
2.read(byte[] bytes)
3.read(byte[],off,len)
4.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
子类 ObjectInputStream
readObject();
OutputStream
FileOutPutStream
构造方法
1.以file对象为入参
2.以路径作为入参
3.以路径 和 是否追加内容作为入参
普通方法
1.write()
2.write(byte[] bytes)
3.write(byte[],off,len)
4.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
5.flush() 长度
子类 DataOutputStream
1.write()
2.write(byte[] bytes)
3.write(byte[],off,len)
4.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
子类 ObjectOutputStream
writeObject(对象)
Reader
InputStreamReader (使用这个子类的前提是先新建一个字节流对象)
构造方法
1.以字节输入流对象作为参数
2.以字节输入流对象和字符编码类型作为参数
普通方法
1.read()
2.read(char[] chars)
3.read(char[],off,len)
4.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
子类FileReader
构造方法:
1.以file类对象作为入参
2.以路径作为入参
BufferedReader (缓存字符流) (和FileReader 类似于伯父和侄子的关系) 前提就是一定要存在字符流对象(InputStreamReader FileReader)
构造方法
1.以Reader或者Reader的子类 孙子类的实现对象作为参数
InputStreamReader (使用这个子类的前提是先新建一个字节流对象)
FileReader
普通方法
1.read()
2.read(char[] chars)
3.read(char[],off,len)
4.readLine()
5.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
Writer
OutputStreamWriter (使用这个子类的前提是先新建一个字节流对象)
构造方法
1.以字节输出流对象作为参数
2.以字节输出流对象和字符编码类型作为参数
普通方法
1.write(String str)
2.write(String str,int off,int len)
3.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
4.flush()
子类FileWriter
构造方法:
1.以file类对象作为入参
2.以路径作为入参
BufferedWriter
构造方法
1.以Writer或者Writer的子类 孙子类的实现对象作为参数
OnputStreamWriter (使用这个子类的前提是先新建一个字节流对象)
FileWriter
普通方法
1.write(String str)
2.write(String str,int off, int len)
3.newLine() 换行
5.close() 所有的流都要关闭,没有关闭的话会造成内存泄露(程序卡住了)
所有打开流要遵循新开的后关,后开的先关
二进制文件读取
DataInputStream