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();
}

}

缓冲字符流 java.io.BufferedWriter ,java.io.BufferedReader,缓冲字符输出流:PrintWriter的更多相关文章

  1. 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法

    不多说,直接上干货! 把提高效率的动作,封装成一个对象.即把缓冲区封装成一个对象. 就是在一个类里封装一个数组,能对流锁操作数据进行缓存. 什么是字符流缓冲区? 善于使用字符流缓冲区,减轻负担,提高下 ...

  2. Java IO(五)——字符流进阶及BufferedWriter、BufferedReader

    一.字符流和字节流的区别 拿一下上一篇文章的例子: package com.demo.io; import java.io.File; import java.io.FileReader; impor ...

  3. Java IO6:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: public static void main(String[] args) throws Exception { File file = new Fi ...

  4. Java IO4:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = ...

  5. 字节流与字符流的区别&&用字节流好还是用字符流好?

    字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) ...

  6. [剑指Offer] 54.字符流中的第一个不重复的字符

    题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...

  7. Day 16:输入输出字符流、缓冲输入字符流

    输入输出字节流输出字符时的常见问题 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  8. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

      File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...

  9. Java IO之字符流和文件

    前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...

随机推荐

  1. Python批量更新模块的方法【面试必学】

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:ranchlin      小编的环境为win10+python 3. ...

  2. NLP标注工具brat 配置文件说明

    快速搭建brat 通过docker: docker run --name=brat -d -p 38080:80 -e BRAT_USERNAME=brat -e BRAT_PASSWORD=brat ...

  3. 分布式事物 - 基于RPC调用 - 补偿模式

    前提 所有服务均有独立的事物管理机制,相互间没有任何关联. 所有业务接口都有对应的补偿方法,用于将已经更新的数据还原到上一次的状态. 本次实例为同步业务,理想状态下,只有全部成功或全部失败两种情况. ...

  4. 【转】CAP 定理的含义

    原文链接:CAP 定理的含义 作者: 阮一峰 日期: 2018年7月16日 分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的. 分布式系统的最大难点,就是各 ...

  5. 最短路径之Dijsktra算法(python)

    定义: 起始位置:A 终止位置:F 持久集合:permanent = set() 暂时集合:temporary = set() 首先将起始位置A加入永久集合,并将A的距离设为0, 此时遍历A的邻接节点 ...

  6. Hook Java API以获得MD5加密前数据

    Java实现MD5加密 在Java中,我们用MD5对数据进行加密,代码大概是这样的: import java.security.MessageDigest; import java.security. ...

  7. 50道Redis面试题史上最全,以后面试再也不怕问Redis了

    1.什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存. ...

  8. 关于独显A卡利用率一直是0不运行的问题

    情况: 独显一直是0,玩游戏时核显,也就是GPU-0快满了GPU-1也是0,跟没有一样,怀疑自己买电脑的时候是不是被骗了. 在高级电源选项中,有个可切换动态显卡->全局设置的选项,设置成最大化性 ...

  9. Power BI 概念及 国内版Pro 试用账户注册流程

    视频内容: Power BI 基本概念:https://v.qq.com/x/page/s3026nn69eu.html Power BI Pro 世纪互联版本试用账号注册:https://v.qq. ...

  10. php配置文件说明

    php-fpm.conf是PHP-FPM进程管理器的配置文件: php.ini是PHP解析器的配置文件: www.conf是php.ini的扩展文件