IO流之字符輸入流,字符輸出流
阿新 • • 發佈:2018-08-23
文件 aaa pri write lose 直接 文件流 資源 array
在我們日常開發中,我們經常會遇到要上傳文件的操作,實現這個都是通過IO流去實現的,這次寫的是普通字符輸入流和普通輸出流,由於效率有點低所以我們在日常開發中不會用到.
所以這次的代碼可能只是幫助到接觸到java IO流的初學者,在後面的文章我們會更新高效流文件流
註意:字符流只能用來傳輸文本文件,所以我們要實現所有類型復制還是要用字節流,字符流的底層也是用到字節流
話不多說直接上代碼
字符輸入流
public static void main(String[] args) throws IOException { // 使用文件名稱創建流對象 FileReader fr = new FileReader("aaa.txt"); // 定義變量,保存有效字符個數 int b = -1; // 定義字符數組,作為裝字符數據的容器 char[] cbuf = new char[2]; // 循環讀取 while ((b = fr.read(cbuf))!=‐1) { System.out.println(new String(cbuf)); } // 關閉資源 fr.close(); }
字符輸出流
//寫出字符數組 // 使用文件名稱創建流對象 FileWriter fw = new FileWriter("fw.txt"); // 字符串轉換為字節數組 char[] chars = "學習java".toCharArray(); fw.write(chars); // 學習java // 寫出從索引2開始,2個字節 fw.write(b,2,2); //刷新緩沖區 fow.flush(); // 關閉資源 fos.close(); //寫出字符串 // 使用文件名稱創建流對象 FileWriter fw = new FileWriter("fw.txt"); // 字符串 String msg = "學習java"; // 寫出字符數組 fw.write(msg); // 寫出從索引2開始,2個字節 fw.write(msg,2,2); // // 關閉資源 fos.close(); //續寫和換行 // 使用文件名稱創建流對象,可以續寫數據FileWriter fw = new FileWriter("fw.txt",true); // 寫出字符串 fw.write("我愛"); // 寫出換行 fw.write("\r\n"); // 關閉資源 fw.close();
IO流之字符輸入流,字符輸出流