Java I/O 教程(十 一) BufferedWriter和BufferedReader
Java BufferedWriter 类
Java BufferedWriter class 继承了Writer类,为Writer实例提供缓冲。 提升了写字符和字符串性能。
类定义:
public class BufferedWriter extends Writer
构造函数:
BufferedReader(Reader in)
Creates a buffering character-input stream that uses a default-sized input buffer.
|
BufferedReader(Reader in, int sz)
Creates a buffering character-input stream that uses an input buffer of the specified size.
|
方法:
void newLine() 添加新行
void write(int c) 写单个字符
void write(char[] cbuf, int off, int len) 写部分字符数组
void write(String s, int off, int len) 写部分字符串
void flush() 冲刷输入流
void close() 关闭输入流
例子
package com.dylan.io;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/**
* @author xusucheng
* @create 2018-01-13
**/
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException{
Writer w = new FileWriter("D:\\testout.txt");
BufferedWriter bw = new BufferedWriter(w);
bw.write("我是中国人");
bw.newLine();
bw.write("我此生无悔入华夏!");
bw.flush();
bw.close();
System.out.println("写入成功!");
}
}
Java BufferedReader 类
Java BufferedReader class继承了Reader类。
用于从字符输入流读取文本,通过缓冲字符方式能给字符,数组和行级别读取带来不错性能提升。
缓冲区大小可以自定义,或者使用默认大小。默认大小足以应对绝大多数情况。
类定义
public class BufferedReader extends Reader
Java BufferedReader class constructors
构造函数
BufferedReader(Reader in)
Creates a buffering character-input stream that uses a default-sized input buffer.
|
BufferedReader(Reader in, int sz)
Creates a buffering character-input stream that uses an input buffer of the specified size.
|
方法
int read() 读取单字符
int read(char[] cbuf, int off, int len) 读取字符放到数组中
boolean markSupported() 告诉你这个流是否支持mark操作
String readLine() 读取一行文本
boolean ready() 测试输入流是否准备好被读取
long skip(long n) 跳过字符
void reset() 重置流到最近的标记
void mark(int readAheadLimit) 标记当前流位置
void close() 关闭流,是否与其相关的资源
例子1
package com.dylan.io;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/**
* @author xusucheng
* @create 2018-01-13
**/
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
Reader r = new FileReader("D:\\testout.txt");
BufferedReader br = new BufferedReader(r);
if (br.ready()) {
String content = null;
while ((content = br.readLine()) != null) {
System.out.println(content);
}
}
br.close();
}
}
例子2
package com.dylan.io;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
/**
* 读取控制台输入流
* @author xusucheng
* @create 2018-01-13
**/
public class BufferedReaderConsoleDemo {
public static void main(String[] args) throws IOException{
Reader r = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(r);
System.out.println("请输入您的姓名:");
String name = br.readLine();
if(!(name==null || "".equals(name))){
System.out.println("欢迎"+name+"!");
}
br.close();
}
}
Java I/O 教程(十 一) BufferedWriter和BufferedReader的更多相关文章
- java中的缓冲流BufferedWriter和BufferedReader
java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...
- Java NIO系列教程(十)DatagramChannel
Java NIO系列教程(十)DatagramChannel 转载自并发编程网 – ifeve.com,本文链接地址: Java NIO系列教程(十) Java NIO DatagramChannel
- Java NIO系列教程(三-十二) Buffer
原文链接 作者:Jakob Jenkov 译者:airu 校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到 ...
- [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )
7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...
- 201521123061 《Java程序设计》第十二周学习总结
201521123061 <Java程序设计>第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对 ...
- 201521123072《java程序设计》第十二周学习总结
201521123072<java程序设计>第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象 ...
- 201521123072《java程序设计》第十周学习总结
201521123072<java程序设计>第十周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异 ...
- 201521123038 《Java程序设计》 第十二周学习总结
201521123038 <Java程序设计> 第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student ...
- 201521123122 《java程序设计》第十二周学习总结
## 201521123122 <java程序设计>第十二周实验总结 ## 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将St ...
随机推荐
- [转帖]【linux命令学习】— sar 命令学习
https://blog.csdn.net/u013332124/article/details/101075521 一.命令使用介绍 sar命令全称 System Activity Report,它 ...
- [转帖]Always-on Profiling for Production Systems
https://0x.tools/ 0x.tools (GitHub) is a set of open-source utilities for analyzing application perf ...
- [转帖]HTTP2 Sampler for JMeter
https://www.cnblogs.com/a00ium/p/10462572.html 今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西. HTTP 2.0 的出现,相比于 ...
- [转帖]docker 最新版本升级
文章目录 前言 一.卸载低版本docker 1.1 检查docker版本 1.2 删除docker 二.开始安装 2.1 安装所需依赖 2.2 设置docker yum源 2.3 查看所有可用版本 2 ...
- [转帖]Python基础之函数(四)
https://www.jianshu.com/p/168e341fb81c 一.函数定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段:比如常用的print(),就是内建函数:通 ...
- [转帖]springcloud nacos配置
配置文件中的nacos配置,discovery和config配置项 版本: <spring.boot.version>2.3.2.RELEASE</spring.boot.versi ...
- [转帖]如何通过shell脚本对一个文件中的所有数值相加并求和
https://developer.aliyun.com/article/886170?spm=a2c6h.24874632.expert-profile.255.7c46cfe9h5DxWK 1.背 ...
- 你应该知道的Hooks知识
Hooks Hooks 是 React16.8 的新增特性,能够在不写 class 的情况下使用 state 以及其他特性. 动机 在组件之间复用状态逻辑很难 复杂组件变得难以理解 难以理解的 cla ...
- 可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫比乌斯反演莫队带花舞蹈链并查集树状数组套主席树预处理动态DP分治FFT求多项式逆元对数函数的指数函数用可持久化并查集合并最小费用循环流上插头DP
P8946 - The Lost Symbol 这种类型的 dp 的特点就是大部分转移形如 \(f(i,j)\rightarrow f(i+1,j+1)\) 之类的,并且当以上转移出现时原数组被清空, ...
- 为mac搭建开发环境的笔记
公司的游戏项目需要出ios包上架到app store,由我负责接入ios的sdk,这里记录一下为mac搭建开发环境的笔记,大多是软件和编程习惯相关的内容. 常用软件 解压缩软件:bandizip在ma ...