JAVA——緩衝流(字元流的Write 方法)
阿新 • • 發佈:2020-09-02
package com.cskaoyan.io02.tranfer.writer; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; /** * @author [email protected]. * @version 1.0 * * Writer寫字元資料的方法: * public void write(int c) 寫入單個字元。要寫入的字元包含在給定整數值的 16 個低位中,16 高位被忽略。 public void write(char[] cbuf) 向字元輸出流中寫入整個字元陣列的多個字元資料 public void write(char[] cbuf,int off,int len) 向字元輸出流中寫入整個字元陣列的, 一部分字元資料 public void write(String str) 向字元輸出流中,寫入一個字串 public void write(String str,int off,int len) 向字元輸出流中,寫入一個字串的一部分字元序列 所有的字元流,自帶(小)緩衝區,是在編解碼的時候來使用的 1. 所以,當我們向字元流寫入少量資料的時候,資料有可能存在於自帶的緩衝區中,還沒有寫入底層流 2. 為了保證,即使是少量字元資料,也能及時將少量字元資料寫入,底層位元組流。 a. close() 關閉此流,但要先重新整理它 b. flush() 重新整理該流的緩衝 */ public class Demo2 { public static void main(String[] args) throws IOException { String s = "你好, 女神"; //1. 建立字元輸出流物件 FileOutputStream fos = new FileOutputStream("a.txt", true); Writer writer = new OutputStreamWriter(fos); //向檔案中寫入中文字元資料 public void write(int c) char[] chars = s.toCharArray(); //for (int i = 0; i < chars.length; i++) { // writer.write(chars[i]); //} // public void write(char[] cbuf) //writer.write(chars); // public void write(char[] cbuf,int off,int len) //writer.write(chars, 0, chars.length); //public void write(String str) //writer.write(s); // public void write(String str,int off,int len) writer.write(s, 0, s.length()); //關閉流 關閉包裝流即可 writer.close(); } }