字符流读取:
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) { } } } }