BufferedReader / BufferedWriter
高效读写、支持输入换行符、可一次写一行读一行
BufferedReader
小案例
第一种方式读取:
package com.iopractise; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; /** * 使用字符缓存流读取文件 */ public class Demo13 { public static void main(String[] args) throws IOException { //1.创建缓存流 FileReader fr = new FileReader("d:\ccc.txt"); BufferedReader br = new BufferedReader(fr); //2.读取 char[] buf = new char[1024]; int count=0; while ((count=br.read(buf))!=-1){ System.out.println(new String(buf,0,count)); } //3.关闭资源 br.close();//相当于关闭了FileReader System.out.println("执行完毕"); } }
运行结果:
中国加油!中国加油!中国加油!中国加油!中国加油!中国加油!中国加油!中国加油!中国加油!中国加油!
执行完毕
小案例:
第二种方式:一行一行的读取
package com.iopractise; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; /** * 使用字符缓存流读取文件 */ public class Demo14 { public static void main(String[] args) throws IOException { //1.创建缓存流 FileReader fr = new FileReader("d:\ccc.txt"); BufferedReader br = new BufferedReader(fr); //2.读取 String line=null; while ((line=br.readLine())!=null){ System.out.println(line); } //3.关闭资源 br.close();//相当于关闭了FileReader System.out.println("执行完毕"); } }
执行结果:
中国加油!中国加油!中国加油!中国加油!中国加油!
中国加油!中国加油!中国加油!中国加油!中国加油!
执行完毕
BufferedWriter
小案例:
package com.iopractise; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; /** * BufferWriter的使用 * */ public class Demo15 { public static void main(String[] args) throws IOException { // 1. 创建BufferedWriter对象 FileWriter fw = new FileWriter("d:\ddd.txt"); BufferedWriter bw = new BufferedWriter(fw); // 2. 写入 for(int i = 0; i < 10; i ++){ bw.write("张家口加油!!!"); bw.newLine(); // 写入一个换行符 bw.flush(); } // 3. 关闭 bw.close(); // 此时会自动关闭fw } }
运行结果:打开对应生成的文件:
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!
张家口加油!!!