Java IO 系列(01)-Java IO概述

1. 引言

    趁着有時間,看了下JDK1.7 API 對Java.lang.io包下常常用到的Java IO處理類作了一些總結性的東西,但願能對Java開發者有點用。java

2.Java IO概述

所謂IO,也就是Input與Output的縮寫。在java中,IO涉及的範圍比較普遍,包括:文件讀寫、標準設備輸出等。Java中IO是以流爲基礎進行輸入輸出的,全部數據被串行化寫入輸出流,或者從輸入流讀入。數組

在java io的稱呼中,咱們常常會提到「輸入流」、「輸出流」等等概念。首先,什麼是流呢?
所謂「流」,就是一種抽象的數據的總稱,它的本質是可以進行傳輸。
      a) 按照「流」的數據流向,能夠將其化分爲:輸入流輸出流
      b) 按照「流」中處理數據的單位,能夠將其區分爲:字節流字符流。在java中,字節是佔1個Byte,即8位;而字符是佔2個Byte,即16位。並且,須要注意的是,java的字節是有符號類型,而字符是無符號類型!架構

3.Java IO架構

固然這還有些不完整,Serializable接口還未給出,這裏只先討論Java IO經常使用類,稍後討論serializable。函數

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

咱們將按照不一樣的類來詳細講述各個類的功能及其實現原理。spa

3.1 InputStream

    InputStream類是全部字節輸入流的超類,其函數類表以下:code

// 構造函數
InputStream()

             int     available()
             void    close()
             void    mark(int readlimit)
             boolean markSupported()
             int     read(byte[] buffer)
abstract     int     read()
             int     read(byte[] buffer, int offset, int length)
synchronized void    reset()
             long    skip(long byteCount)

全部繼承了InputStream的子類都具備此類方法。繼承

3.2 OutputStream

    OutputStrem類是全部字節輸出流的超累,其代碼列表以下:接口

package java.io;

public abstract class OutputStream implements Closeable, Flushable {
    // 將字節b寫入到「輸出流」中。
    // 它在子類中實現!
    public abstract void write(int b) throws IOException;

    // 寫入字節數組b到「字節數組輸出流」中。
    public void write(byte b[]) throws IOException {
        write(b, 0, b.length);
    }

    // 寫入字節數組b到「字節數組輸出流」中,而且off是「數組b的起始位置」,len是寫入的長度
    public void write(byte b[], int off, int len) throws IOException {
        if (b == null) {
            throw new NullPointerException();
        } else if ((off < 0) || (off > b.length) || (len < 0) ||
                   ((off + len) > b.length) || ((off + len) < 0)) {
            throw new IndexOutOfBoundsException();
        } else if (len == 0) {
            return;
        }
        for (int i = 0 ; i < len ; i++) {
            write(b[off + i]);
        }
    }

    public void flush() throws IOException {
    }

    public void close() throws IOException {
    }
}

4.Java IO目錄

(等其餘博文寫完,再來補充)ip

相關文章
相關標籤/搜索