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. Kubeadm 安装支持IPV6 K8S1.28.x的简单过程

    Kubeadm 安装支持IPV6 K8S的简单过程 背景 手贱 找了一个晚上想尝试安装一个K8S集群 并且可以支持IPV6 协议栈的 然后就开始各种百度. 各种处理 找到了一堆歪门邪道. 但是还不知道 ...

  2. [转帖]CentOS 8已经停止维护,怎么检查CentOS的版本

    https://rumenz.com/rumenbiji/centos-check-version.html CentOS 8 在2021年12月31日停止更新并停止维护(EOL). CentOS 7 ...

  3. Kafka学习之四_Grafana监控相关的学习

    Kafka学习之四_Grafana监控相关的学习 背景 想一并学习一下kafaka的监控. 又重新开始学习grafana了: 下载地址: https://grafana.com/grafana/dow ...

  4. [转帖]Linux性能分析(二):理解CPU上下文切换

    在计算机中,上下文切换是指存储进程或线程的状态,以便以后可以还原它并从同一点恢复执行.这允许多个进程共享一个CPU,这是多任务操作系统的基本功能. Linux 是一个多任务操作系统,它支持远大于 CP ...

  5. UnixBench的简单测试与验证

    UnixBench的简单测试与验证 目标 飞腾2000+ (物理机和虚拟机) Intel Golden 6170 物理机 Intel Golden 5218 虚拟机 Gold 5218 CPU @ 2 ...

  6. linux中如何统计千万个文件总和

    很简单.很简单.很简单.重要事情说三遍 命令:ls | grep '匹配信息' | wc -l ls查看该目录下的所有文件,果然隐藏文件也要匹配上的话,需要:ls -a grep匹配,如查看文件中有. ...

  7. vue结合elementUI折叠展开效果动画

    组件 <template> <div class="hide-page-com"> <ul class="tab-tilte"&g ...

  8. Python 潮流周刊#12:Python 中如何调试死锁问题?

    查看全文: https://pythoncat.top/posts/2023-07-22-weekly 文章&教程 1.使用 PyStack 调试 Python 中的崩溃和死锁 (英) 2.介 ...

  9. 通过Demo学WPF—数据绑定(一)✨

    前言 想学习WPF,但是看视频教程觉得太耗时间,直接看文档又觉得似懂非懂,因此想通过看Demo代码+文档的方式进行学习. 准备 微软官方其实提供了WPF的一些Demo,地址为:microsoft/WP ...

  10. Python Selenium 库使用技巧

    Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE,Mozilla Firefox,Safari,Google ...