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的更多相关文章

  1. java中的缓冲流BufferedWriter和BufferedReader

    java中的缓冲流有BufferedWriter和BufferedReader 在java api 手册中这样说缓冲流: 从字符输入流中读取文本,缓冲各个字符,从而实现字符.数组和行的高效读取.可以指 ...

  2. JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

    JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...

  3. Java NIO系列教程(十)DatagramChannel

    Java NIO系列教程(十)DatagramChannel 转载自并发编程网 – ifeve.com,本文链接地址: Java NIO系列教程(十) Java NIO DatagramChannel

  4. Java NIO系列教程(三-十二) Buffer

    原文链接     作者:Jakob Jenkov     译者:airu     校对:丁一 Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到 ...

  5. [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )

    7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...

  6. 201521123061 《Java程序设计》第十二周学习总结

    201521123061 <Java程序设计>第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对 ...

  7. 201521123072《java程序设计》第十二周学习总结

    201521123072<java程序设计>第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象 ...

  8. 201521123072《java程序设计》第十周学习总结

    201521123072<java程序设计>第十周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异 ...

  9. 201521123038 《Java程序设计》 第十二周学习总结

    201521123038 <Java程序设计> 第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student ...

  10. 201521123122 《java程序设计》第十二周学习总结

    ## 201521123122 <java程序设计>第十二周实验总结 ## 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将St ...

随机推荐

  1. [转帖]美国出口管制第六番 ECCN编码的藏宝图之旅

    https://zhuanlan.zhihu.com/p/585040344 哈喽大家好,这里是大话合规 一旦明确物项受EAR管制(大前提) 下一步就是对物项进行编码 @#¥%&* 这篇文章蜗 ...

  2. [转帖]Linux nice和renice命令:改变进程优先级

    https://c.biancheng.net/view/1074.html 当 Linux 内核尝试决定哪些运行中的进程可以访问 CPU 时,其中一个需要考虑的因素就是进程优先级的值(也称为 nic ...

  3. [转帖]【基础】HTTP、TCP/IP 协议的原理及应用

    https://juejin.cn/post/6844903938232156167 前言 本文将持续记录笔者在学习过程中掌握的一些 HTTP .TCP/IP 的原理,以及这些网络通信技术的一些应用场 ...

  4. [转帖]Jmeter创建简单的HTTP(S)请求测试-3

    在上一章节中,介绍了Jmeter基本的组成组件,那么我们如何使用这些组件去完成测试呢,以下将通过创建一个简单的HTTP(S)测试进行说明,另外,除JDBC请求外,Jmeter进行测试构建的步骤大同小异 ...

  5. [转帖]耗时几个月,终于找到了JVM停顿十几秒的原因

    https://www.cnblogs.com/codelogs/p/16060792.html   原创:打码日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介# 最近我们系 ...

  6. 让你轻松看懂defer和async

    defer和async产生的原因 HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本. <!-- 页面内嵌的脚本 --> <script t ...

  7. echarts饼状图不要中间的文字提示

    饼状图不要中间的文字提示信息 emphasis: { label: { show: false, //将这个设置为false }, }, 为什么饼状图不要中间的问题提示信息 因为有些时候,在文字很多的 ...

  8. linux虚拟机固定ip

    1.查看宿主机IP信息 在windows宿主机上,键盘输入win+r,输出cmd,打开终端命令行: 输入ipconfig /all,查看宿主机IP信息: 2.修改Linux虚拟机的配置文件 Linux ...

  9. 语义检索系统:基于无监督预训练语义索引召回:SimCSE、Diffcse

    基于无监督预训练语义索引召回:SimCSE.Diffcse 语义索引(可通俗理解为向量索引)技术是搜索引擎.推荐系统.广告系统在召回阶段的核心技术之一.语义索引模型的目标是:给定输入文本,模型可以从海 ...

  10. 2.7 CE修改器:多级指针查找

    在本步骤中,你需要使用多级指针的概念来查找健康值真正的地址并修改它.多级指针就是一个指针的指针,也就是第一个指针指向第二个指针,第二个指针指向第三个指针,以此类推,最终指向你想要访问的地址. 首先,你 ...