• 缓冲字符流 java.io.BufferedWriter ,java.io.BufferedReader,缓冲字符输出流:PrintWriter


    package seday07;

    import java.io.IOException;
    import java.io.PrintWriter;

    /**
    * @author xingsir
    * 缓冲字符流
    * java.io.BufferedWriter
    * java.io.BufferedReader
    * 缓冲字符流内部有缓冲区,读写字符效率高。并可按行读写字符串。
    * 但是比较常用的缓冲字符输出流为:PrintWriter,它内部链接
    * BufferedWriter作为其缓冲加速,而它自身有提供了自动的 行刷新操
    */
    public class PWDemo1 {

    public static void main(String[] args) throws IOException {
    /*
    * PW提供了直接对文件操作的构造方法:
    * PrintWriter(String path)
    * PrintWriter(File file)
    *
    */
    PrintWriter pw=new PrintWriter("pw.txt","GBK");//可以再传入一个String类型参数为字符集,这里用GBK
    pw.write("啊-五环~~~~");
    pw.write("你比四环多一环~~~~");
    pw.write("是不是要准备修到七环?");
    pw.write("那你还是比五环少两环。");

    System.out.println("写出完毕");
    pw.close();
    }

    }

    //==========================================================================

    package seday07;

    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;

    /**
    * @author xingsir
    * 缓冲字符输入流,可以按行读取字符串
    */
    public class BRDemo2 {

    public static void main(String[] args) throws IOException {
    /*
    * 把将当前程序源代码读取出来并输出到控制台
    */
    FileInputStream fis=new FileInputStream("./src/seday07/BRDemo2.java");//相对路径
    InputStreamReader isr=new InputStreamReader(fis);//将字节转换为字符
    BufferedReader br=new BufferedReader(isr);//块读,并且可以按行读取字符串

    String line= null;
    /*
    * String readLine()
    * 读取一行字符串,该方法会连续读取若干字符,当读取到换行符时停止,并将换行符之前的内容以一个字符串形式 返回,
    * 注意,返回的字符串中不包含最后的换行符。如果返回值为null,则表示流读取到了末尾(若是读取文件 则表示文件读取到了末尾)
    */
    while((line=br.readLine())!=null) {//当line不为空时,条件为真
    System.out.println(line);//读取
    }

    br.close();//关闭,
    }

    }

    //==========================================================================

    package seday07;

    import java.io.BufferedWriter;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;

    /**
    * @author xingsir
    * 在流连接中使用PrintWriter
    */
    public class PWDemo2 {

    public static void main(String[] args) throws IOException {
    FileOutputStream fos= new FileOutputStream("pw.txt");//文件流,(将字节写入到文件)
    OutputStreamWriter osw= new OutputStreamWriter(fos);//转换流(将字符转换成字节)
    BufferedWriter bw= new BufferedWriter(osw);//缓冲字符流(加快写入文本数据))
    PrintWriter pw= new PrintWriter(bw);//缓冲字符输出流(按行写,并自动行刷新)
    pw.println("我曾跨过山河大海");//字符
    pw.println("也穿过人山人海");//字符
    System.out.println("学出完毕");
    pw.close();
    }

    }

  • 相关阅读:
    bzoj 1093: [ZJOI2007]最大半连通子图
    bzoj 1266 1266: [AHOI2006]上学路线route
    poj 2104 K-th Number
    洛谷 P3313 [SDOI2014]旅行
    cogs 306. [SGOI] 糊涂的记者
    cogs 1164. 跑步
    洛谷 1821: [JSOI2010]Group 部落划分 Group
    洛谷 U3357 C2-走楼梯
    洛谷 P3014 [USACO11FEB]牛线Cow Line
    洛谷 P2982 [USACO10FEB]慢下来Slowing down
  • 原文地址:https://www.cnblogs.com/xingsir/p/12029367.html
Copyright © 2020-2023  润新知