【Java IO流】OutputStream和Writer

OutputStream & Writer

  • OutputStream ** 和 Writer ** 是所有輸出流的基類。
  • **OutputStream **
    • void write(int b/int c)
    • void write(byte[] b/char[] cbuf)
    • void write(byte[] b/char[] buff, int off, int len)
    • void close() 需要先刷新,再關閉此流
  • 因爲字符流直接以字符作爲操作單位,所以 Writer 可以用字符串來替換字符數組, 即以 String 對象作爲參數
    • void write(String str);
    • void write(String str, int off, int len);
  • FileOutputStream 從文件系統中的某個文件中獲得輸出字節。FileOutputStream 用於寫出非文本數據之類的原始字節流。要寫出字符流,需要使用 FileWriter

OutputStream

void write(int b)

  • 將指定的字節寫入此輸出流。write 的常規協定是:向輸出流寫入一個字節。要寫 入的字節是參數 b 的八個低位。b 的 24 個高位將被忽略。 即寫入0~255範圍的

void write(byte[] b)

  • 將 b.length 個字節從指定的 byte 數組寫入此輸出流。write(b) 的常規協定是:應該 與調用 write(b, 0, b.length) 的效果完全相同

void write(byte[] b,int off,int len)

  • 將指定 byte 數組中從偏移量 off 開始的 len 個字節寫入此輸出流。

public void flush()throws IOException

  • 刷新此輸出流並強制寫出所有緩衝的輸出字節,調用此方法指示應將這些字節立 即寫入它們預期的目標

public void close() throws IOException

  • 關閉此輸出流並釋放與該流關聯的所有系統資源。

Writer

void write(int c)

  • 寫入單個字符。要寫入的字符包含在給定整數值的 16 個低位中,16 高位被忽略。 即 寫入0 到 65535 之間的Unicode碼

void write(char[] cbuf)

  • 寫入字符數組。

void write(char[] cbuf,int off,int len)

  • 寫入字符數組的某一部分。從off開始,寫入len個字符

void write(String str)

  • 寫入字符串

void write(String str,int off,int len)

  • 寫入字符串的某一部分。

void flush()

  • 刷新該流的緩衝,則立即將它們寫入預期目標。

public void close() throws IOException

  • 關閉此輸出流並釋放與該流關聯的所有系統資源。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章