1 package hengzhe.cn.o1; 2 3 import java.io.*; 4 5 /* 6 * 带缓存的输入输出-bufferedinputstream类与bufferedoutputstream类 7 * 与。net的cache是一样为缓存,有了这个就可以在流中实现skip(),mark(),reset()等方法 8 * bufferedinputstream可以对inputstream类进行带缓存的包装以达到性能的优化。 9 * 有两个构造函数BufferdInputStream(InputStream in)、和BufferdInputStream(InputStream in,int size) 10 * 其中第一种是指定32个字节的缓存流,第二个就不得了,可以根据机器的配置自行指定 11 * BufferdoutputStream和outputStream一样,只不过有个flush()方法用来将缓存强行输出,该方法也有两个构造函数: 12 * BufferdOutPutStream(OutPutStream in)、和BufferdOutPutStream(OutPutStream in,int size) 13 * 其中第一种是指定32个字节的缓存流,第二个就不得了,可以根据机器的配置自行指定 14 * 注:flush()方法就是将缓存区里的数据强行排空,只对OutPutStream有效 15 * BufferedReader类常用的方法如下: 16 * read()、readLine(),write(string s ,int off,int len):写放字条的某一部分、flush()刷新缓存、newLine()写入一行分隔符 17 */ 18 public class Buffered 19 { 20 21 public static void main(String[] args) 22 { 23 String content[] = 24 { "白日依", "山尽", "黄河入", "海流" }; 25 File file = new File("e:java.txt"); 26 try 27 { 28 FileWriter fw = new FileWriter(file); 29 BufferedWriter bufw = new BufferedWriter(fw); 30 for (int i = 0; i < content.length; i++) 31 { 32 bufw.write(content[i]);// 写入文件 33 bufw.newLine();// 以单行写入文件 34 35 } 36 bufw.close(); 37 fw.close(); 38 39 } catch (Exception e) 40 { 41 e.printStackTrace(); 42 } 43 44 // read 45 try 46 { 47 FileReader fr = new FileReader(file); 48 BufferedReader bufr = new BufferedReader(fr); 49 String str_info = null; 50 int i = 0; 51 while ((str_info = bufr.readLine()) != null) 52 { 53 i++; 54 System.out.println("第" + i + "行:" + str_info); 55 56 } 57 bufr.close(); 58 fr.close(); 59 60 } catch (Exception ex) 61 { 62 ex.printStackTrace(); 63 64 } 65 } 66 /* 67 * */ 68 69 }