缓冲字符流 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();
}
}
缓冲字符流 java.io.BufferedWriter ,java.io.BufferedReader,缓冲字符输出流:PrintWriter的更多相关文章
- 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法
不多说,直接上干货! 把提高效率的动作,封装成一个对象.即把缓冲区封装成一个对象. 就是在一个类里封装一个数组,能对流锁操作数据进行缓存. 什么是字符流缓冲区? 善于使用字符流缓冲区,减轻负担,提高下 ...
- Java IO(五)——字符流进阶及BufferedWriter、BufferedReader
一.字符流和字节流的区别 拿一下上一篇文章的例子: package com.demo.io; import java.io.File; import java.io.FileReader; impor ...
- Java IO6:字符流进阶及BufferedWriter、BufferedReader
字符流和字节流的区别 拿一下上一篇文章的例子: public static void main(String[] args) throws Exception { File file = new Fi ...
- Java IO4:字符流进阶及BufferedWriter、BufferedReader
字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = ...
- 字节流与字符流的区别&&用字节流好还是用字符流好?
字节流: (A)FileOutputStream(File name) 创建一个文件输出流,向指定的 File 对象输出数据. (B)FileOutputStream(FileDescriptor) ...
- [剑指Offer] 54.字符流中的第一个不重复的字符
题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ...
- Day 16:输入输出字符流、缓冲输入字符流
输入输出字节流输出字符时的常见问题 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...
- -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流
File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
随机推荐
- JVM系列二(垃圾收集算法).
一.标记-清除算法(Mark-Sweep) 这种算法分为"标记"和"清除"两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象. Mar ...
- (译)An introduction to Kubernetes
原文:https://www.jeremyjordan.me/kubernetes/(博客园团队推荐的) 这篇博客文章将对Kubernetes进行介绍,以便您了解该工具背后的动机,含义以及使用方式.在 ...
- 关于iOS引导页图层的相关属性类
关键字:CABasicAnimation 参考链接:https://blog.csdn.net/Dwarven/article/details/42492199 Layer.mask属性用法: htt ...
- Scrum Meeting - 第七周【Alpha阶段】
每日任务内容: 本次会议为第七次Scrum Meeting会议 本次会议项目经理召开时间为20:00,在北区男生宿舍楼召开,召开时长约10分钟,探讨了本周选课网站编写的后续工作. 小组成员 本周任务 ...
- Ubuntu1804中重新认识docker
这又是一篇充数的笔记……之前在Ubuntu中折腾过好几次了,但是关于他俩之间的故事总是参杂着第三者,不太纯粹,这一次只说她两之间的故事. 上一篇笔记弄好了Ubuntu环境.之后就是准备迎娶docker ...
- springcloud配置中心
SpringCloud Config简介 Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持 ...
- 3.Redux学习3----redux-saga
redux-saga和redux-thunk功能差不多,都是为了避免直接在组件生命周期函数中做异步操作,便于自动化测试,便于拆分管理. 首先要下包 npm i redux-saga 第零步:在acti ...
- openssl 证书请求和签名命令req基本分析
一 基本概念: OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls o ...
- Nacos 安装(带视频)
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...
- Mysql 的异常:The last packet successfully received from the server was 90 milliseconds ago. The last packet sent successfully to the server was 43,603,303 milliseconds ago. is longer than the server con
调试一个程序, 调试到一半, 下班回家, 程序卡在了某一行, 第二天早上回来一看, 发现了异常: Wed Sep :: GMT+: WARN: Establishing SSL connection ...