常用的 I/O 流类型
>FileInputStream 和 FileOutputStream
FileInputStream 用于读取本地文件中字节数据
FileOutputStream 用于将字节数据写出到文件中
>FileReader 和 FileWriter
FileReader 用于以字符为单位读取文件数据
FileWriter 用于将字符数据写出到文件中 .
>BufferedReader 和 BufferedWriter
BufferedReader 用于缓冲读取字符 ,BufferedWriter 则提供字符的缓冲写出功能
>InputStreamReader 和 OutputStreamWriter< 处理流类 >
InputStreamReader 可封装字节输入流并从中读取字节数据 , 然后将其转换为字符 .
转换时可以在构造方法中设定字符编码 , 也可以使用操作系统的默认字符编码 .
public InputStreamReader(InputStream in)
public InputStreamReader(InputStream in,String charsetName)
OutputStreamWriter 与 InputStreamReader 相对应 , 它可以按照特定的字符编码规则把字符转化为字节并写出到它所封装的字节输出流 .
>PrintStream 和 PrintWriter
PrintStream 在 OutputStream 基础之上提供了增强的功能 , 即可以方便的输出各种类型的数据 ( 而不仅限于 byte 类型 ).PrintStrem 的方法从不抛出 IOException.
Printwriter 提供了 PrintStream 的所有打印方法 , 其方法也从不抛出 IOException
与 PrintStream 的区别 : 作为处理流使用时 ,PrintStream 只能封装 OutputStream 类型的字节流 , 而 PrintWriter 既可以封装 OutputStream, 也能封装 Writer 类型的字符输出流并增强其功能 .
>DataInputStream 和 DataOutputStream
二者分别实现了 DataInput/DataOutput 接口
DataInputStream 能够以一种与机器无关的方式 , 直接从底层字节输入流读取 JAVA 基本类型和 String 类型的数据
DataOutputStream 则能够直接将 JAVA 基本类型和 String 类型数据写出到其他的字节输出流 .
>CharArrayReader 和 CharArrayWriter
CharArrayReader 实现了一个可用作字符输入流的字符缓冲区
CharArrayWriter 实现一个可当作 Writer 使用的字符输出缓冲区