这东西你去看一下java.io api就好了

解决方案 »

  1.   

    基于流:
    InputStream
    OutputStream
    基于字符:
    Reader
    Writer
    流和字符之间的配接:
    InputStreamReader
    OutputStreamWriter其他具体的自己参考API吧
      

  2.   

    1.1 以字节为导向的stream  以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream  包括下面几种类型:
      1) input stream:
      1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用
      2) StringBufferInputStream:把一个String对象作为InputStream
      3) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作
      4) PipedInputStream:实现了pipe的概念,主要在线程中使用
      5) SequenceInputStream:把多个InputStream合并为一个InputStream
      2) Out stream
      1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中
      2) FileOutputStream:把信息存入文件中
      3) PipedOutputStream:实现了pipe的概念,主要在线程中使用
      4) SequenceOutputStream:把多个OutStream合并为一个OutStream  1.2 以Unicode字符为导向的stream  以Unicode字符为导向的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。以   Unicode字符为导向的stream包括下面几种类型:
     1) Input Stream
      1) CharArrayReader:与ByteArrayInputStream对应
      2) StringReader:与StringBufferInputStream对应
      3) FileReader:与FileInputStream对应
      4) PipedReader:与PipedInputStream对应
      2) Out Stream
      1) CharArrayWrite:与ByteArrayOutputStream对应
      2) StringWrite:无与之对应的以字节为导向的stream
      3) FileWrite:与FileOutputStream对应
      4) PipedWrite:与PipedOutputStream对应  以字符为导向的stream基本上对有与之相对应的以字节为导向的stream。两个对应类实现的功能相同,字是在操作时的导向不同。如CharArrayReader:和ByteArrayInputStream的作用都是把内存中的一个缓冲区作为InputStream使用,所不同的是前者每次从内存中读取一个字节的信息,而后者每次从内存中读取一个字符。  1.3 两种不现导向的stream之间的转换  InputStreamReader和OutputStreamReader:把一个以字节为导向的stream转换成一个以字符为导向的stream。