首页 > 代码库 > java基础知识回顾之javaIO类---BufferedReader和BufferedWriter
java基础知识回顾之javaIO类---BufferedReader和BufferedWriter
使用了装饰设计模式:此类的设计是为了提高流操作数据的效率。思想就是定义容器将数据进行临时存储,对于缓冲区对象,其实就是将这个容器进行了分装,并提供了更高效的操作方法。
原理;
1,使用流的read方法从源中读取一批数据存储到缓冲区的数组中。
2,通过计数器记录住存储的元素个数。
3,通过数组的角标来获取数组中的元素(从缓冲区中取数据).
4,指针会不断的自增,当增到数组长度,会归0.计数器会自减,当减到0时,就在从源拿一批数据进缓冲区。
BufferReader:
package com.lp.ecjtu;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class BufferReaderDemo { /** * @param args * @throws IOException * * 该缓冲去提供了一个的读取一行 readLine()方法,当返回null时读到末尾 */ public static void main(String[] args) throws IOException { //创建一个读取流对象和文件相关联 FileReader fr = new FileReader("FileReaderDemo.java"); //为了提高字符读取的效率,加入缓冲技术 //将需要被提高效率的流对象作为参数传入缓冲区的构造方法即可 BufferedReader bw = new BufferedReader(fr); String line = null; /*line = bw.readLine(); System.out.println("******"+line);//一次性读取一行 String line1 = bw.readLine(); System.out.println("******"+line1); String line2 = bw.readLine(); System.out.println("******"+line2);*/ while((line=bw.readLine()) != null){ System.out.println(line); } bw.close(); }}
BufferWriter:
package com.lp.ecjtu;import java.io.BufferedWriter;import java.io.FileWriter;import java.io.IOException;public class BufferWriterDemo { /** * @param args * @throws IOException * * 该缓冲去提供了一个跨平台的换行符 newLine方法 */ public static void main(String[] args) throws IOException { //创建一个字符写入流对象 FileWriter fw = new FileWriter("buf.txt"); //为了提高字符写入的效率,加入缓冲技术 //将需要被提高效率的流对象作为参数传入缓冲区的构造方法即可 BufferedWriter bw = new BufferedWriter(fw); for(int i=0;i<5;i++){ bw.write("abcd"+i); bw.newLine(); bw.flush(); } }}
通过缓冲区将一个文本的内容复制到另一个文件当中:
package com.lp.ecjtu;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class CopyTextByBuffer { /** * @param args * readLine()方法返回回车符之前数据的内容,并不返回回车符,可以通过newLine()方法换行 */ public static void main(String[] args) { BufferedReader bufr = null; BufferedWriter bufw = null; try { bufr = new BufferedReader(new FileReader("FileReaderDemo.java")); bufw = new BufferedWriter(new FileWriter("bufferWriterCopy.txt")); String line = null; while((line=bufr.readLine())!=null){ bufw.write(line); bufw.newLine(); bufw.flush(); } } catch (FileNotFoundException e) { throw new RuntimeException("没有找到指定文件!请确认文件名称是否正确!"); }catch (IOException e) { throw new RuntimeException("读写失败!"); }finally{ try { if(bufr != null){ bufr.close(); } } catch (IOException e) { throw new RuntimeException("读取关闭失败!"); } try { if(bufw != null){ bufw.close(); } } catch (IOException e) { throw new RuntimeException("写入关闭失败!"); } } }}
java基础知识回顾之javaIO类---BufferedReader和BufferedWriter
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。