首页 > 代码库 > 再论流之字节流和字符流
再论流之字节流和字符流
Java定义了两种类型的流:字节流和字符流。字节流为处理字节的输入和输出提供了方法。例如,当读取和写入二进制数据时,使用的就是字节流。字符流为处理字符的输入和输出提供了方便的方法。它们使用Unicode编码,所以可以被国际化。另外一点:在最底层,所有I/O仍然是面向字节的。基于字符的流只是为处理字符提供了一种方便和高效的方法。
字节流类
字节流是通过两个类层次定义的。在顶级是两个抽象类:InputStream和OutputStream。每个抽象类都有几个处理各种不同设备的具体子类。
流类 |
含义 |
BufferedInputStream |
缓存的输入流 |
BufferedOutputStream |
缓存的输出流 |
ByteArrayInputStream |
读取字节数组内容的输入流 |
ByteArrayOutputStream |
向字节数组写入内容的输出流 |
DataInputStream |
包含读取Java标准数据类型的方法的输入流 |
DataOutputStream |
包含读取java标准数据类型的方法的输出流 |
FileInputStream |
读取文件内容的输入流 |
FileOutputStream |
向文件中写入内容的输出流 |
FilterInputStream |
实现InputStream |
FilterOutputStream |
实现OutputStream |
InputStream |
描述流输入的抽象类 |
ObjectInputStream |
用于对象的输入流 |
ObjectOutputStream |
用于对象的输出流 |
OutputStream |
描述流输出的抽象类 |
PipedInputStream |
输入管道 |
PipedOutputStream |
输出管道 |
PrintStream |
包含print()和println()的输出流 |
PushbackInputStream |
支持1字节“unget”的输入流,这种流向输入流返回1个字节 |
SequenceInputStream |
由两个或多个按顺序依次读取的输入流组合而成的输入流 |
再论流之字节流和字符流
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。