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. 完美解决vim在终端不能复制的问题

    以前 用xshell,或者其他工具ssh到远程服务器,vim不能复制,搜索说是vim的 -xterm_clipboard没有开启. 今天发现,至少鼠标复制是不需要这个东东的! 在stackoverfl ...

  2. SQL NULL

    表 select CHARACTER_MAXIMUM_LENGTH from information_schema.columns where table_name= 'Alliance' selec ...

  3. UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解

    思路: Prim: 这道题目中有重边 Prim可以先加一个sec数组来保存重边的次小边,这样不会影响到最小生成树,在算次小生成树时要同时判断次小边(不需判断是否在MST中) Kruskal: Krus ...

  4. java画流程图【思路】

    java计算整数输入 <样例 画的第一张流程图 把脑子里的东西能清晰的表现出来 学编程必备

  5. Asp.net自定义单选复选框控件

    将常用的jquery插件封装成控件也是个不错的选择 下面是效果的简单颜色,由于博客系统的限制没法完整演示最终效果,请下载示例查看 Asp.netWeb APIC#Javascript   1.新建类库 ...

  6. c++ 容器元素遍历打印(for_each)

    #include <iostream> // cout #include <algorithm> // for_each #include <vector> // ...

  7. GRASP (职责分配原则)

    要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢 ...

  8. MongoDB(课时22 唯一索引)

    3.6.1 唯一索引 唯一索引的主要目的是用在某一个字段上,使该字段的内容不重复. 范例:创建唯一索引 db.students.ensureIndex({"name" : 1}, ...

  9. Codeforces 859C - Pie Rules

    859C - Pie Rules 思路: dp 我们知道无论谁拿到decider token他拿不拿蛋糕都是确定的,都是使自己最优的结果. 于是 定义状态:dp[i]表示到第i个位置拿到decider ...

  10. Codeforces 888E - Maximum Subsequence(折半枚举(meet-in-the-middle))

    888E - Maximum Subsequence 思路:折半枚举. 代码: #include<bits/stdc++.h> using namespace std; #define l ...