I/O理论编

作者在 2010-05-21 20:07:52 发布以下内容
本次复习的是I/O(输入/出)(总体的复习)
  InputStream输入流/OutputStream输出流
  Node Stream节点流 /Processing Stream处理流
  Character Stream 字符流/Byte Stream字节流
按照数据流动的方法:有输入流和输出流
                           输入流只能读取数据,不能写出数据
                            输出流只能写出数据,不能读入数据
                           除了RandomAccessFile类(即可读也可写)
按照数据流所关联的是数据源还是其他数据流:节点流和处理流
                         节点流直接连接到数据源(用read来读,按字符,要多次,容易出现乱码)
                          处理流并不直接连接到数据源,是对一个已存在的流连接和封装
                          通过所封装的流的功能调用实现增强的数据读/写功能(通常用这个)       
按照传输的大小划分:字符流和字节流
               凡是以   InputStream和OutputStream结尾的为字节流
                                  以Reader和writer结尾的是字符流 
InputStream(输入流)
               所有字节输入流类型的父类,包含的方法
        read()         从输入流中读取数据的下一个字节。     返回 0 到 255 范围内的 int 字节值
        read(byte[] buffer)将读取的数据保存在buffer数组中
        int available()返回当前,在以后还有多少个字节可读
        skip(long n)跳过多少字节,从n+1个字节开始读
        mark(int readlimit)做标记
        reset()返回到做标记的地方         
        close()关闭当前输入流
 InputStream——FileInputStream(文件输入流)
            --ObjectInputStream(对象输入流)
            --FilterInputStream--->DataInputStream/PushbackInpustream/BufferedInpustrea/LineNumberInputStream
            --PipedInputStream(管道流)
            --SequenceInputStream(逻辑串联)
            --StringBufferInputStream(已过时)
            --ByteArrayInputStream(包含一个内部缓冲区)
OutputStream(输出流)
                  所有字节输出流类型的抽象父类,他含的方法
           write(int c)输出一个数据
           close()关闭输出流
           flush()清空输出缓冲区
   OutputStream--FileOutputStream
               --ObjectOutputStream
               --FilterOutputStream-->DataOutputStream/PrintStream/BufferedOutputStream
               --PipedOutputStream
               --ByteArrayOutputStream
Reader:是所有字符输入流类型的父类
             read()读取数据
             close()关闭
                                  其它方法和InputStream一样
    Reader--BufferedReader-->LineNumberReader
            CharArrayReader
            StringReader
            InputStreamReader-->FileReader
            PipedReader
            FilterReader-->PushbackReader
Writer:是所有字符输出流的父类
          writer()写出数据
                           其它方法和OutputStream一样
      Writer--BufferedWriter
              CharArrayWriter
              StringWriter
              OutputStreamWriter-->FileWriter
              PrintWriter
              PipedWriter
              FilterWriter
本次复习的是I/O(输入/出)(详细方法的复习)
FileInputStream用于读取本地文件中字节数据
FileOutputStream用于将字节数据写出到文件
FileInputStream([new File()])
                           文件路径的分割符/或\\
      查看实例:http://hi.bccn.net/space-447825-do-blog-id-16977.html
FileReader用于以字符为单位读取文本文件
FileWriter用于以字符为单位写出到文本文件中
    文件路径的分割符/或\\
     查看实例:http://hi.bccn.net/space-447825-do-blog-id-16978.html
BufferedReader用于缓冲读取字符
BufferedWriter用于缓冲写出字符
     以上两个参数是FileReader和FileWriter,
     也就是说,一定要有FileReader后才能使用BufferedReader,有FileWriter后才能使用BufferedWriter
     其中的读入方法
       writerLine()以行为单位的写出数据
       newLine()写出一个换行标记
       readLine()以行为单位的读入数据
            查看实例:http://hi.bccn.net/space-447825-do-blog-id-16979.html 
InputStreamReader可封装字节输入流并从中读取字节数据,然后转换为字符
OutputStreamWriter可按照特定的字符编码规则把字符转化为字节写出到它所封装的字节输出
           查看实例:http://hi.bccn.net/space-447825-do-blog-id-16980.html
PrintStream在OuptStream基础之上提供了增强的功能,即可以方便地输出程和类型数据
            只能封装outputStream类型的字节流
PrintWriter提供了PrintStream的所有打印方法,可以封装outputStream和writer类型的输出流并增强其功能
      以上两个方法是不会抛出IOException
            查看实例:http://hi.bccn.net/space-447825-do-blog-id-16982.html 
DataInputStream和DataOutputStream  分别实现了DataInput和DataOutput的接口    
        DataInputStream(new FileInputStream([new File()]))或
        DataInputStream(InputStream in)
                     读取方法:read类型()UTF代表String类型
                      写出方法:write类型()
                      与平台无关的写入写出流
                查看实例: http://hi.bccn.net/space-447825-do-blog-id-16984.html
CharArrayReader实现了一个可用作字符输入流的字符缓冲区
CharArrayWriter实现了一个可当作Writer使用
 将值重定向到文件:http://hi.bccn.net/space-447825-do-blog-id-16986.html
 标准的错误输出重写向http://hi.bccn.net/space-447825-do-blog-id-16987.html
 随机存取文件
          RandomAccessFile()
                   构造方法RandomAccessFile(File,"rw")//rw/r/w读写
        getFilePointer()获取文件的指针当前的位置
        readUTF()读取一行字符串
        WiteInt()写入一个整型
        skipBytes()路过字节数
         查看实例:http://hi.bccn.net/space-447825-do-blog-id-16988.html
临时文件的创建File.createTempFile("名字","扩展名",null);//为null表示不在C盘的默认下创建
              getAbsolutePath();得到临时文件的路径
              close()一定要关闭   
              deleteOnExit()程序退出 时就删除文件
      查看实例:http://hi.bccn.net/space-447825-do-blog-id-16989.html
ObjectInputStream(FileInputStream )
ObjectOutputStream(FileOutputStream )对象输入输出
  用objectOutputStream写入对象的时候,该对象必须实现Serializable接口
PipedInputStream和PipedOutputStream(管道流)用于线程之间的通信
   一个PipedInputStream必须绑定一下PipedOutputStream,相反
  实例方法PipedInputStream pis=new PipedInputStream();
  PipedOutputStream pos=new PipedOutputStream(pis);
SequenceInputStream类是InputStream的一个子类,使用这个类可以将两个独立的流合并为一个逻辑流
实例方法InputStream is1=new InputStream("f1.date");
          InputStream is2=new InputStream("f2.date");
          SequenceInputStream sis=new SequenceInputStream(is1,is2);
FilenameFilter是针对文件名的过滤性接口,其中的list()方法可以列出要的文件      
I/O编 | 阅读 1015 次
文章评论,共0条
游客请输入验证码
浏览275886次