Java IO一些类的简单介绍
一. 用于字节流的类有:
1.InputStream
字节输入流的所有类的超类.
2.OutputStream
输出字节流的所有类的超类.
?
3.ByteArrayInputStream
ByteArrayInputStream 包含一个内部缓冲区,该缓冲区包含从流中读取的字节。内部计数器跟踪
read 方法要提供的下一个字节.
4.ByteArrayOutputStream
此类实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动
增长.
?
5.BufferedInputStream
BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的
能力.
6.BufferedOutputStream
该类实现缓冲的输出流。通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,而
不必针对每次字节写入调用底层系统.
?
7.PrintStream
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。PrintStream
打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,
应该使用 PrintWriter 类.
?
?
?
二. 用于字符流的类有:
1.Reader
用于读取字符流的抽象类
2.Writer
写入字符流的抽象类
?
3.StringReader
其源为一个字符串的字符流.
4.StringWriter
一个字符流,可以用其回收在字符串缓冲区中的输出来构造字符串.关闭 StringWriter 无效。此类
中的方法在关闭该流后仍可被调用,而不会产生任何 IOException.
?
5.CharArrayReader
可用作字符输入流的字符缓冲区.
6.CharArrayWriter
可用作 Writer 的字符缓冲区.
?
7.BufferedReader
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取.
8.BufferedWriter
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入.
?
9.PrintWriter
向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。它不
包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。
?
?
?
三. 用于文件流的类有:
1.FileInputStream
用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader.
2.FileOutputStream
用于写入诸如图像数据之类的原始字节流。要写入字符流,请考虑使用 FileWriter.
3.FileReader
用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的
。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。此类用于读取
字符流。要读取原始字节流,请考虑使用 FileInputStream.
4.FileWriter
用来写入字符文件的便捷类.
?
?
?
四. 用于数据流的类有:
1.DataInputStream
数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可
以使用数据输出流写入稍后由数据输入流读取的数据。DataInputStream 对于多线程访问不一定是安
全的。 线程安全是可选的,它由此类方法的使用者负责.
2.DataOutputStream
?
?
五. 用于字符与字节流转换的类有:
1.InputStreamReader
字节流通向字符流的桥梁,为了达到最高效率,可要考虑在 BufferedReader 内包装
InputStreamReader.
2.OutputStreamWriter
是字符流通向字节流的桥梁,为了获得最高效率,可考虑将 OutputStreamWriter 包装到
BufferedWriter 中,以避免频繁调用转换器.