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. [转帖]SCSI、ISCSI、iSER、NVMe、NVMe-oF、NVMe-oF over RDMA

    在存储系统中,上层协议可以泛指"指令",也就是比如"读出从某某开始的多少长度的扇区",指令包含三大关键信息: (1)操作码:Opreation Code,或称为 ...

  2. Redis和Springboot在Windows上面设置开机启动的方法

    Redis和Springboot在Windows上面设置开机启动的方法 背景 同事遇到一个问题 Windows 晚上自动更新服务 然后第二天 Springboot开发的程序没有启动起来. 所以基于此想 ...

  3. [转帖]003、体系结构之TiKV持久化

    TiKV架构和作用 数据持久化 分布式一致性 MVCC 分布式事务 Coprocessor coprocessor : 协同处理器. 可以将一些SQL计算交给TiKV处理.不需要将TiKV所有数据通过 ...

  4. JVM内存学习 2.0

    先说一下结果 1. Linux的内存分配是惰性分配的. APP申明了 kernel并不会立即进行初始化和使用. 2. JVM的内存主要分为, 堆区, 非堆区, 以及jvm使用的其他内存. 比如直接内存 ...

  5. SAP PO7.5 有关https 接口body编码格式 application/x-www-form-urlencoded

    近期项目中,在PO中做接口 遇到OAUTH2.0认证方式,token获取过程中编码格式为 "application/x-www-form-urlencoded" 实现过程错误记录: ...

  6. 给python脚本传递命令行参数

    记录一下给python脚本传参数的几种方式 最简单的方式 在cmd/bat脚本中调用python脚本传递参数 #传递参数 python test.py arg1 arg2 arg3 #在python中 ...

  7. arch linux 安装

    好长时间都没有更新自己的博客了,我简单翻阅了一下自己的更新记录,上一次更新好像还是在5月份左右,距今也有快半年,这半年也是遇到了很多事情,有不好的,也有好的.这半年我对在日常生活工作中使用Linux系 ...

  8. vue 动态路由刷新页面404

    1.如果你的静态路由最后有如下代码: // 404 page must be placed at the end !!! { path: "*", redirect: " ...

  9. “I/O多路复用”和“异步I/O”的前世今生

    曾经的VIP服务在网络的初期,网民很少,服务器完全无压力,那时的技术也没有现在先进,通常用一个线程来全程跟踪处理一个请求.因为这样最简单.其实代码实现大家都知道,就是服务器上有个ServerSocke ...

  10. 飞桨paddlespeech语音唤醒推理C INT8 定点实现

    前面的文章(飞桨paddlespeech语音唤醒推理C定点实现)讲了INT16的定点实现.因为目前商用的语音唤醒方案推理几乎都是INT8的定点实现,于是我又做了INT8的定点实现. 实现前做了一番调研 ...