A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Louis.hui 中级黑马   /  2014-8-23 23:39  /  776 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节输入流和输出流

1 个回复

倒序浏览
Java 流分为 字符流 和 字节流 两种。分别四个抽象类 Reader/Writer、InputStream/OutputStream 表示。
Reader 与 Writer 所派生的子类用来处理字符流;InputStream 与 OutputStream 所派生的子类用来处理字节流。
StringReader / StringWriter:由 String 构建字符流,StringReader 从字符串中读取字符,StringWriter 用其缓冲构造字符串;
CharArrayReader / CharArrayWriter:由 char[] 构建字符流,CharArrayReader 从字符数组中读取字符数据,CharArrayWriter 有一个自动增长的字符数组缓冲,可构建字符数组。
ByteArrayInputStream / ByteArrayOutputStream:由 byte[] 构建字节流,ByteArrayInputStream 从byte数组中读取字节数据,ByteArrayOutputStream 有一个自动增长的字节数组缓冲,可构建字节数组;
BufferedReader / BufferedWriter:构建字符流缓冲器,读取与写入操作都先由缓冲完成,这样可以减少系统调用。 Reader , Writer 的子类均可构建缓冲,
   1: public BufferedReader(Reader in);
   2: public BufferedReader(Reader in, int sz);
   3: public BufferedWriter(Writer out);
   4: public BufferedWriter(Writer out, int sz);
比如对于 FileReader 的实例,我们可以这样调用来构建缓冲:
   1: BufferedReader bfReader = new BufferedReader(new FileReader("OOXX.txt"));
PushbackReader / PushbackInputStream:分别可构建字符输入流与字节输入流,主要实现的是允许 unread() 方法把字符或字节压入流中;
PipedReader / PipedWriter / PipedInputStream / PipedOutputStream:管道流,有 connect() 方法连接输入流与输出流,成对;
InputStreamReader / OutputStreamWriter:字符流与字节流两者联系的桥梁。InputStreamReader 读取字节流解码为字符数据,OutputStreamWriter 写入字符流解码为字节数据;
PrintWriter / PrintStream:分别用来输出格式化文本到字符输出流和根据平台的默认字符编码转换字符到字节,两者都可由 File、OutputStream、String构建, PrintWriter 还可由 Writer 构建,也就是说可以输出到文件、屏幕、字符串等;
FileReader / FileWriter:文本文件的读写;
BufferedInputStream / BufferedOutputStream:可以参考 BufferedReader / BufferedWriter,只不过这两个类用于字节流缓冲;
DataInputStream / DataOutputStream:方便地流入流出不同类型的数据,DataOutputStream 流出的数据需要 DataInputStream 来流入解析。

可能对你有帮助。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马