java基础(IO流)

字节流:

  FileInputStream:通过字节的方式读取文件,适合读取所有类型的文件(图像、视频等),全字符请考虑FileReader
 
  FileOutputStream:通过字节的方式写出或追加数据到文件,适合所有类型的文件(图像、视频等),全字符请考虑FileWriter
 

字符流:

  FileReader :通过字符的方式读取文件,仅适合字符文件
 
  FileWriter :通过字节的方式写出或追加数据到文件中,仅适合字符文件

 

字节数组流:

  ByteArrayInputStream:字节数组输入。存储在内存中,可以由Java直接访问,由垃圾回收机制释放,不用手动关闭。
 
  ByteArrayOutputStream: 字节数组输出。(baos.tobyteArray()方法获取数据)
  字节数组流读写的顺序要保持一致,不然会报错。

 字节缓冲流:

  BufferedInputStream & BufferedOutputStream:提升性能,加快程序运行速度,直接在外面嵌套使用。
 

字符缓冲流:

  BufferedReader&BufferedWriter : 提升性能,适用于纯文本。
  新增方法,readline():读取一行    newLine():换行符 ;   使用新增方法不能使用多态。

转换流:

  InputStreamReader / OutputStreamWriter: 是字节流与字符流之间的桥梁,能将字节流转换为字符流,并且能为字节流指定字符集,可处理一个个的字符
 

数据流: 

  DataInputStream & DataOutputStream :保留数据的同时也保留了数据类型。写出后读取,读取顺序与写出顺序要保持一致。
 

对象流:  

  ObjectInputStream: 跟数据流类似,除了基本数据类型跟字符串,还包括其他各种对象。反序列化 

    ObjectOutputStream:序列化

打印流:

  PrintStream  & printWriter

 
 
原文地址:https://www.cnblogs.com/skyline1/p/11172934.html