java 12 - 5 带有缓冲区的字符流

字符流为了高效读写,也提供了对应的字符缓冲流。

字符缓冲流:
A、 BufferedWriter:字符缓冲输出流
B、 BufferedReader:字符缓冲输入流

A、BufferedWriter:字符缓冲输出流
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
 可以指定缓冲区的大小,或者接受默认的大小。在大多数情况下,默认值就足够大了。

 1         // 字符缓冲输入流
 2         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
 3                 new FileOutputStream("a.txt"))); *         //化简版本: *     BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt"));
 4         bw.write("呵呵");
 5         bw.write("这是个");
 6         bw.write("冷笑话");
 7
 8         //释放资源
 9         bw.close();
10     }

B、BufferedReader:字符缓冲输入流
从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。

 1         //字符缓冲输入流
 2         BufferedReader br = new BufferedReader(new FileReader("a.txt"));
 3         int len = 0;
 4         char[] ch = new char[1024];
 5         while((len = br.read(ch)) != -1){
 6             System.out.println(new String(ch,0,len));//把a.txt里面的内容以String的方式打印出来
 7         }
 8
 9
10         //释放资源
11         br.close();

时间: 2024-10-11 18:02:39

java 12 - 5 带有缓冲区的字符流的相关文章

深入理解JAVA I/O系列三:字符流详解

字符流为何存在 既然字节流提供了能够处理任何类型的输入/输出操作的功能,那为什么还要存在字符流呢?容我慢慢道来,字节流不能直接操作Unicode字符,因为一个字符有两个字节,字节流一次只能操作一个字节.如果JAVA不能直接操作字符,我会感到JAVA对这个世界满满的恶意,所以提供对直接的字符输入/输出的支持是很有必要的,因为我们的口号是:一次编写,到处运行. 字符流的概念 输出字符流:把要写入文件的字符序列(实际是unicode码元序列)转为指定编码方式下的字节序列,然后在写入文件中. 输入字符流

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流

J2SE知识点归纳笔记(七)---Java IO Part 4:基本字符流                                                                 --转载请注明出处:coder-pig 本节引言: 上一节中,我们对于Java IO流中的一些基本字节流进行了学习,他们都是InputStream与 OutputStream的子类;本节学习的字符流则是Reader与Writer的子类,好了,话不多说, 开始本节内容! 本节正文: 1.Reade

java:I/O 字节流和字符流

字节流 InputStream和OutputStream的子类:FileInputStream 和 FileOutputStream 方法: int read(byte[] b,int off,int len); void write(byte[] b,int off,int len); 字符流 Reader和Writer的子类:FileReader 和 FileWriter 方法: int read(char[] b,int off,int len); void write(char[] b,

Java IO-file(读写查)字节流、字符流

使用字节流操作汉字或特殊的符号语言的时候,容易乱码,建议使用字符流. 先有字节流,后有字符流,字符流是对字节流的补充. 使用记事本打开某个文件,可以看到内容的就是文本文件,否则可以理解二进制. 一般的,操作二进制文件(图片,音频,视频等)必须使用字节流. 一般的,操作文本文件使用字符流. 如果不清楚是哪一类型文件,使用字节流. -----------------------------------------字节流-----------------------------------------

java 20 - 9 带有缓冲区的字节输出流和字节输入流

由之前字节输入的两个方式,我们可以发现,通过定义数组读取数组的方式比一个个字节读取的方式快得多. 所以,java就专门提供了带有缓冲区的字节类: 缓冲区类(高效类) 写数据:BufferedOutputStream 构造方法: BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用. BufferedInputStream(InputStream in, int size) 创建具有指定

java中在使用字节流和字符流不关闭流引起的情况分析?

package com.hephec; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; public class OutputStreamTest{ public static void main(String[] args) throws Exception{ OutputStream out=new FileOutputStream(new File("E:"+Fi

java IO(五):字节流、字符流的选择规律

*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hljs-comment, .hljs-template_comment, .diff .hljs-header, .hljs-javadoc { color: #998; font-style: italic; } .hljs-keyword, .css .rule .hljs-keyword, .h

Java当中的I/O的字符流

字符流读写文件时,以字符为基础 I/O当中字符流的核心类 Reader类和Writer类是所有字符流类的父类,同样也是抽象类.FileReader和FileWriter分别是它们的子类. 核心类的核心方法: Reader: int read(char [] c, int off, int len); Writer: void write(char [] c, int off, int len); import java.io.*; public class Test{ public static

JAVA学习笔记(三十二)- 字符流 FileReader & FileWriter

标题 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream;