body, table{font-family: 微软雅黑}
table{border-collapse: collapse; border: solid gray; border-width: 2px 0 2px 0;}
th{border: 1px solid gray; padding: 4px; background-color: #DDD;}
td{border: 1px solid gray; padding: 4px;}
tr:nth-child(2n){background-color: #f8f8f8;}

字符缓冲流
将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入

BufferedWriter(Writer out) ;
          创建一个使用默认大小输出缓冲区的缓冲字符输出流。

BufferedWriter(Writer out,
int sz);

          创建一个使用给定大小输出缓冲区的新缓冲字符输出流。

//父类Writer中的方法

void

write(char[] cbuf) ;
          写入字符数组。

abstract
void

write(char[] cbuf,
int off, int len)
 ;
          写入字符数组的某一部分。   //这个方法子类实现了

void

write(int c) ;
          写入单个字符。

void

write(String str) ;
          写入字符串。

void

write(String str,
int off, int len)
 ;
          写入字符串的某一部分。

void

newLine()
          写入一个行分隔符。

int

read()
          读取单个字符。

int

read(char[] cbuf)
          将字符读入数组。

abstract
int

read(char[] cbuf,
int off, int len)

          将字符读入数组的某一部分。 //子类BufferedReader实现

String

readLine()
          读取一个文本行。如果已到达流末尾,则返回 null

public static void main(String[] args) throws IOException {
/*             BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("4.txt"));
                String str = "你好,昆明";
                bufferedWriter.write(str);
                bufferedWriter.newLine();   //直接写入一个换行,不用考虑系统平台
                bufferedWriter.write(str);
                bufferedWriter.close();    */
                BufferedReader bReader = new BufferedReader(new FileReader("4.txt"));
/*             char[] cbuf = new char[4];
                bReader.read(cbuf);
               System.out.println(new String(cbuf));  */      //你好,昆
/*             String readLine;
                while( ( readLine = bReader.readLine() ) != null){
                        System.out.println(readLine);
                }
                bReader.close();*/
//使用 BufferedReader BufferedWriter 复制
              BufferedReader bufferedReader = new BufferedReader(new FileReader("11.java"));
              BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("copy.java"));
                //逐行复制
                String string = null;
                while( (string = bufferedReader.readLine()) != null ){
                        bufferedWriter.write(string);
                        bufferedWriter.newLine();    
//读完一行写一行不会把回车换行写进去,所有要自己写换行
                }
                bufferedReader.close();
                bufferedWriter.close();
        }
}

Java——IO类,字符缓冲区的更多相关文章

  1. Java——IO类 字符流概述

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  2. Java IO: 其他字符流(下)

    作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本小节会简要概括Java IO中的PushbackReader,LineNumberReader,St ...

  3. Java IO流字符流简介及基本使用

    Java IO流字符流简介及常用字符流的基本使用 字符流分为输入字符流(Writer)和输出字符流(Reader),这两种字符流及其子类字符流都有自己专门的功能.在编码中我们常用的输出字符流有File ...

  4. Java IO 类一览表

    下表列出了大多数(非全部)按输/输出,基于字节或字符划分的 Java IO 类.

  5. Java IO之字符流和文件

    前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...

  6. [Java IO]03_字符流

    Java程序中,一个字符等于两个字节. Reader 和 Writer 两个就是专门用于操作字符流的类. Writer Writer是一个字符流的抽象类.  它的定义如下: public abstra ...

  7. Java IO流-字符流

    2017-11-05 18:34:39 Java中的IO流按数据类型分类分为两种,一是字节流,二是字符流.字符流的出现是为了简化文本数据的读入和写出操作. 如果操作的文件是文本文件,那么使用字符流会大 ...

  8. java IO流——字符流

    一.概述 流的概念: 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输出操作都是以“流”的方式进行.设备可以是文件,网络,内存等. 流具有方向性,至于是输入流还是输出流则是 ...

  9. Java IO 类

    IO包中绝大部分的类都是由以下四个类直接或间接继承来的InputStream OutputStream Reader 还有Writer 其中InputStream和OutputStream代表输入流和 ...

  10. 系统学习 Java IO (十三)----字符读写 Reader/Writer 及其常用子类

    目录:系统学习 Java IO---- 目录,概览 Reader Reader 类是 Java IO API 中所有 Reader 子类的基类. Reader 类似于 InputStream ,除了它 ...

随机推荐

  1. ubuntu16.04下firefly rk3288的编译安卓4.4

    一.背景 OS: ubuntu 16.04 二.配置交叉编译环境 2.1 安装openjdk sudo apt-get install openjdk-7-jdk 2.2 使在同一台机器上可以编译an ...

  2. Shell变量知识进阶

    一,Shell中特殊且重要的变量 $0结合dirname和basename分别取出脚本名称和脚本路径 [root@192-168-3-163 scripts]# cat test.sh #!/bin/ ...

  3. (转)Nuts and Bolts of Applying Deep Learning

    Kevin Zakka's Blog About Nuts and Bolts of Applying Deep Learning Sep 26, 2016 This weekend was very ...

  4. python闭包closure

    在讨论闭包之前,先总结一下python的命名空间namespace,一般的语言都是通过namespace来识别名字标识,无论是变量,对象,函数等等.python划分3个名字空间层次,local:局部, ...

  5. (转)c++一些知识点

    异常详解: https://www.cnblogs.com/hdk1993/p/4357541.html#top 模版详解: https://blog.csdn.net/lezardfu/articl ...

  6. Java 密码扩展无限制权限策略文件[转]

    因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制.比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件. 官方网站提供了JCE无限制权限策略文件的下载: JDK ...

  7. Codeforces 385C - Bear and Prime Numbers(素数筛+前缀和+hashing)

    385C - Bear and Prime Numbers 思路:记录数组中1-1e7中每个数出现的次数,然后用素数筛看哪些能被素数整除,并加到记录该素数的数组中,然后1-1e7求一遍前缀和. 代码: ...

  8. 8天掌握EF的Code First开发

    C#高级知识点&(ABP框架理论学习高级篇)——白金版 http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent.html

  9. C#验证中文

    C#验证中文的方式有很多种,下面列举了其中几种可供参考,还有正则表达式的验证这里没有写,后面有机会再补上. 方法一: private bool isChina(string msg) { string ...

  10. 各个安卓版本 使用的 Linux Kernel Version

    Android Version |API Level |Linux Kernel in AOSP --------------------------------------------------- ...