字符流讀取:
package com.sxt.io; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.io.Reader; /** * 四個步驟: 分段讀取 文件字符輸入流 * 1、創建源 * 2、選擇流 * 3、操作 * 4、釋放資源 * * @author * */ public class IOTest05 { public static void main(String[] args) { //1、創建源 File src = new File("abc.txt"); //2、選擇流 Reader reader =null; try { reader =new FileReader(src); //3、操作 (分段讀取) char[] flush = new char[1024]; //緩沖容器 int len = -1; //接收長度 while((len=reader.read(flush))!=-1) { //字符數組-->字符串 String str = new String(flush,0,len); System.out.println(str); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { //4、釋放資源 try { if(null!=reader) { reader.close(); } } catch (IOException e) { e.printStackTrace(); } } } }
字符流寫入:
package com.sxt.io; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.Writer; /** * 文件字符輸出流 *1、創建源 *2、選擇流 *3、操作(寫出內容) *4、釋放資源 * @author * */ public class IOTest06 { public static void main(String[] args) { //1、創建源 File dest = new File("dest.txt"); //2、選擇流 Writer writer =null; try { writer = new FileWriter(dest); //3、操作(寫出) //寫法一 // String msg ="IO is so easy\r\n歡迎你"; // char[] datas =msg.toCharArray(); // 字符串-->字符數組 // writer.write(datas,0,datas.length); //寫法二 /*String msg ="IO is so easy\r\n歡迎你"; writer.write(msg); writer.write("add"); writer.flush();*/ //寫法三 writer.append("IO is so easy\r\n").append("歡迎你"); writer.flush(); }catch(FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }finally{ //4、釋放資源 try { if (null != writer) { writer.close(); } } catch (Exception e) { } } } }