1. 程式人生 > >IO流中的字元輸出流writer以及五種寫檔案例項

IO流中的字元輸出流writer以及五種寫檔案例項

a) 實現類OutputStreamWriter的方法,

 構造方法(只能傳遞位元組流物件):
  i. OutputStreamWriter(OutputStream out) 根據預設編碼格式把位元組流轉換為字元流
  ii. OutputStreamWriter(OutputStream out, String charsetName)
  根據指定編碼格式把位元組流轉化為字元流
 成員方法:
  iii. public void write (int c) 寫入一個字元
  iv. public void write (char [] cbuf) 寫入一個字元陣列
  v. public void write (char [] cbuf , int off ,int len)寫入一個字元陣列的一部分
  vi. public void write (String str) 寫入一個字串
  vii. public void write (String str, int off, int len) 寫入一個字串的一部分
  viii. void flush() 重新整理該流的緩衝
  ix. void close() 關閉流物件,在關閉之前會自動重新整理流緩衝
 字元流寫入時只是寫入了緩衝區,需要flush()來將資料寫入到檔案,
 如果有close()語句則可以不需要寫flush()語句
b) 常用OutputStreamWriter的子類FileWriter,
 構造方法:
  i. FileWriter(File file)
  ii. FileWriter(File file, boolean append)append為true從檔案後面繼續寫
  iii. FileWriter(String filename)
  iv. FileWriter(String filename, boolean append)
 成員方法和上面方法一樣
 例項在下面給出
c) close()和flush()的區別
 i. close()先重新整理一次緩衝區,之後關閉流物件,關閉之後就不可以再繼續用流 物件了
 ii. flush()僅僅重新整理緩衝區,重新整理之後流物件可以繼續使用
d) 字元緩衝流BufferedWriter
 i. 構造方法
  BufferedWriter(Writer out) out為Writer類物件
 ii. 成員方法和FileWriter類相同

五種方式寫檔案例項

使用字元緩衝區

package Test3_FileWriter;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

/*
 * 使用五種方式寫
 * public void write (int c)	寫入一個字元
 * 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)	寫入一個字串的一部分 
 */
public class Demo { public static void main(String[] args) throws IOException { BufferedWriter bw=new BufferedWriter(new FileWriter("Demo2.txt")); //方法一 int i=97; bw.write(i); //換行符 bw.write("\n"); //方法二 char []c= {'j','a','v','a'}; bw.write(c); bw.write("\n"); //方法三 bw.
write(c,2,1); bw.write("\n"); //方法四 String s="zfliu"; bw.write(s); bw.write("\n"); //方法五 bw.write(s,2,2); //重新整理該流的緩衝 bw.flush(); //關閉流物件,在關閉之前會自動重新整理流緩衝 bw.close(); } }

Demo2.txt檔案顯示
在這裡插入圖片描述