JavaIO系统

为了方便记忆,特将IO中涉及的类进行整理以下:java

一、File类dom

  提供了目录操做,查看文件属性等。函数

二、java IO类层次spa

面向字节流的类为InputStream、OutputStream;面向字符流的类为Reader、Writerip

能够使用 InputStreamReader 将 InputStream-->Readerit

能够使用OutputStreamWriter 将 OutputStream-->Writerio

InputStream    --->Readerfunction

|---ByteArrayInputStream  --->CharArrayReaderclass

|---StringBufferInputStream(discard)  --->StringReaderfile

|---FileInputStream  --->FileReader

|---PipedInputStream  --->PipedReader

|---FilterInputStream

     |---DataInputStream  

     |---BufferedInputStream  --->BufferedReader(has readLine function)

 

OutputStream  --->Writer

|---ByteArrayOutputStream  --->CharArrayWriter

|---FileOutputStream  --->FileWriter

|---PipedOutputStream  --->PipedWriter

|---FilterOutputStream

     |---DataOutputStream

     |---PrintStream  --->PrintWriter

     |---BufferedOutputStream  --->BufferedWriter

 

二、一些经常使用的组合

  BufferedReader s = new BufferedReader(new FileReader(fileName));   //字符缓冲方式读取

  DataInputStream di = new DataInputStream(new BufferedInputStream(new FileInputStream(filename)));   //从文件缓冲读取数据类型

  DataOutputStream outputStream = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(filename)));   //将数据类型写入到文件之中,而后能够经过DataInputStream来读取

  PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename)));   //将文件经过PrintWriter方式格式化写入

    out.println 函数就能够格式化写文件内容了。

三、RandomAccessFile类

  支持搜寻方法的文件读写类,提供给了seek函数

四、标准IO

System.err, System.out 都已经被包装成了 PrintStream 所以能够直接使用。

System.in 仍是属于 InputStream 类型,所以在使用前须要包装下。

  1)按行读取:BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  ///使用了InputStreamReader将System.in表示的InputStream类型转换成Reader类型。

  2)将System.out转换成PrintWriter:PrintWriter pw = new PrintWriter(System.out,true);

五、重定向IO

  setIn(InputStream)

  setOut(PrintStream)

  setErr(PrintStream) 

相关文章
相关标签/搜索