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

© 周飞飞 中级黑马   /  2015-8-20 15:02  /  196 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节流的抽象基类:InputStream,OutputStream.
        输出流OutputStream的共性方法:(没有使用到缓冲区可以不用刷新)
                 void close()
                          关闭此输出流并释放与此流有关的所有系统资源。
                 void flush()
                          刷新此输出流并强制写出所有缓冲的输出字节。
                void write(byte[] b)
                          将 b.length 个字节从指定的 byte 数组写入此输出流。
                void write(byte[] b, int off, int len)
                          将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
                abstract  void write(int b)
                          将指定的字节写入此输出流。
        读取流InputStream的共性方法:
                  int available()
                          返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。
                 void close()
                         关闭此输入流并释放与该流关联的所有系统资源。
                 void mark(int readlimit)
                         在此输入流中标记当前的位置。
                 boolean markSupported()
                         测试此输入流是否支持 mark 和 reset 方法。
                abstract  int read()
                         从输入流中读取数据的下一个字节。
                 int read(byte[] b)
                         从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
                 int read(byte[] b, int off, int len)
                         将输入流中最多 len 个数据字节读入 byte 数组。
                 void reset()
                         将此流重新定位到最后一次对此输入流调用 mark 方法时的位置。
                 long skip(long n)
                         跳过和丢弃此输入流中数据的 n 个字节。
        OutputStream子类:
                FileOutputStream
                BufferedOutputStream
        InputStream的子类:
                FileInputStream
                BufferedInputStream
       
               
转换流:       
java.io.InputStreamReader:是字节流通向字符流的桥梁:
                InputStreamReader 是字节流通向字符流的桥梁:它使用指定的
                 charset 读取字节并将其解码为字符。它使用的字符集可以由名
                 称指定或显式给定,或者可以接受平台默认的字符集
                         
                        InputStreamReader(InputStream in)
                                  创建一个使用默认字符集的 InputStreamReader。
                        InputStreamReader(InputStream in, Charset cs)
                                  创建使用给定字符集的 InputStreamReader。
                        InputStreamReader(InputStream in, CharsetDecoder dec)
                                  创建使用给定字符集解码器的 InputStreamReader。
                        *InputStreamReader(InputStream in, String charsetName)
                                  创建使用指定字符集的 InputStreamReader。


OutputStreamWriter 是字符流通向字节流的桥梁:
        可使用指定的 charset 将要写入流中的字符编码成字节。
        它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
                OutputStreamWriter(OutputStream out)
                            创建使用默认字符编码的 OutputStreamWriter。
                OutputStreamWriter(OutputStream out, Charset cs)
                          创建使用给定字符集的 OutputStreamWriter。
                OutputStreamWriter(OutputStream out, CharsetEncoder enc)
                          创建使用给定字符集编码器的 OutputStreamWriter。
                OutputStreamWriter(OutputStream out, String charsetName)
                          创建使用指定字符集的 OutputStreamWriter。

流操作的基本规律:
明确:
        1、明确源和目的。
        2、操作的数据是不是纯文本。
        3、体系明确后,明确使用哪个具体对象
                源设备:内存,硬盘,键盘
                目的设备:内存,硬盘,控制台、
               
               
想把中文按照指定的字符集读写:
                InputStreamReader(InputStream in, String charsetName)
           创建使用指定字符集的 InputStreamReader。
                OutputStreamWriter(OutputStream out, String charsetName)
                   创建使用指定字符集的 OutputStreamWriter。
可以改变标准的输入输出流使用:java.lang.System

                static void setErr(PrintStream err)
                          重新分配“标准”错误输出流。
                static void setIn(InputStream in)

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马