1.BufferedInputStream

字节缓冲输入流

从文件中读取数据

1.1 读数据步骤

  • 创建数据流对象
  • 将基本流包装秤高效流
  • 读数据
  • 关闭流
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {FileInputStream fi=new FileInputStream("a.txt");BufferedInputStream bis=new BufferedInputStream(fi);int ch=-1;while((ch=bis.read())!=-1)System.out.print((char)ch);bis.close();fi.close();}
}

运行结果:(说明可以读取换行)

2.BufferedOutputStream

字节缓冲输出流

写数据到文件

2.1写数据步骤

  • 创建流
  • 使用高效流进行封装
  • 写数据
  • 关闭流
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {FileOutputStream fo=new FileOutputStream("a.txt");BufferedOutputStream bos=new BufferedOutputStream(fo);bos.write("你在吗?".getBytes());bos.close();fo.close();}
}

运行结果:

3.BufferedReader

字符缓冲输入流

所有已实现的接口:

Closeable, Readable

3.1 构造方法

BufferedReader(Reader in):创建一个使用默认大小输入缓冲区的缓冲字符输入流

BufferedReader(Reader in,int size):创建一个使用指定认大小输入缓冲区的缓冲字符输入流

3.2 方法

int read():读取单个字符

int read(char[] chs,int index,int len):将字符读入数组的某一部分

String readLine():读取一个文本行

3.2.1 读取数据方式1:一次一个字符

int ch;
while((ch=in.read())!=-1)System.out.print((char)ch);
in.close();

3.2.2 读取数据方式2:一次一个字符数组

char[] chs=new char[1024];
int len;
while((len=in.read())!=-1)System.out.print(new String(chs,0,len));
in.close();

3.2.3 读取数据方式3:一次一个文本行

String line=null;
while((line=in.readLine())!=null)System.out.println(line);
in.close();

3.3使用步骤

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {BufferedReader in=new BufferedReader(new FileReader("a.txt"));String line=null;while((line=in.readLine())!=null)System.out.println(line);in.close();}
}

运行结果:

4.BufferedWriter

字符缓冲输出流

所有已实现的接口:

Closeable, Flushable, Appendable

4.1构造函数

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

BufferedWriter(Writer out,int size):创建一个使用指定认大小输出缓冲区的缓冲字符输出流

4.2 方法

void newLine():写入一个行分隔符,依当前系统

void write(int c):写入一个字符

void write(char[] c,int index,int len):写入字符数组的某一部分

void write(String str,int index,int len):写入字符串的某一部分

4.3使用步骤

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;public class Test{public static void main(String[] args) throws IOException  {BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));String line=null;for(int i=0;i<5;i++) {out.write("hello");out.newLine();}out.close();}
}

运行结果:

分析:

BufferedWriter out=new BufferedWriter(new FileWriter("b.txt"));

BufferedWriter将文本写入FileWriter,最终写是由FileWriter来做的。

IO-4(BufferedInputStream、BufferedInputStream、BufferedReader、BufferedWriter)相关推荐

  1. 【Java基础】Java IO编程:输入输出流、内存流、打印流、缓冲流BufferedReader、扫描流Scanner、序列化与反序列化

    文章目录 第11章.Java IO编程 11.1 文件操作类:File 11.2 字节流与字符流 字节输出流:OutputStream OutputStream类 FileOutputStream类 ...

  2. IO流(常用流都有)

    目录 一.流的分类: 二.流的体系结构 ​三.FileReader和FileWriter 四.FileInputStream和FileOutputStream 五.BufferedInputStrea ...

  3. Redis基本数据类型、持久化机制、集群模式、淘汰策略、缓存穿透、击穿、雪崩、常见面试题大集合!

    redis redis reids的常用数据类型 1.String 2.Hash 3.List 5.Sorted Set(ZSet) 6.其他 发布(pub)订阅模式(sub)模式 作用 Redis的 ...

  4. 阻塞与非阻塞、同步与异步、I/O模型

    1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式: 同步/异步主要针对C端:  同步: 所谓同步,就是在c端 ...

  5. Chrome源码剖析、上--多线程模型、进程通信、进程模型

    Chrome源码剖析.上 原著:duguguiyu. 整理:July. 时间:二零一一年四月二日. 出处:http://blog.csdn.net/v_JULY_v. 说明:此Chrome源码剖析很大 ...

  6. 【chrome】Chrome源码剖析、上--多线程模型、进程通信、进程模型

     Chrome源码剖析.上 原著:duguguiyu. 整理:July. 时间:二零一一年四月二日. 出处:http://blog.csdn.net/v_JULY_v. 说明:此Chrome源码剖析很 ...

  7. Java的IO操作(五) - PrintStream类、字符流、Reader和Writer、带缓冲的字符流BufferedReader和BufferedWriter...

    1. PrintStream类 我们都知道,int类型在Java中占4个字节,如1在内存中表示为 00000000 00000000 00000000 00000001.如果我们直接使用OutputS ...

  8. Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

    Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/det ...

  9. 十五、IO流【黑马JavaSE笔记】(本文文中记录了个人学习感受)

    文章目录 IO流 (一)File 1.File类的概述和构造方法 2.File类的创建功能 3.File类判断和获取功能 4.File类的删除功能 5.递归 6.案例(递归求阶乘) 7.案例(遍历目录 ...

  10. JavaSE(字符流、IO资源的处理、属性集、ResourceBundle工具类、缓冲流、转换流、序列化、打印流、装饰设计模式、commons-io工具包)

    JavaSE 字符流 字符输入流[Reader] 字符输入流Reader类的概述 字符输入流Reader类的常用方法 FileReader类 FileReader类的概述 FileReader类的构造 ...

最新文章

  1. 命令行的全文搜索工具--ack
  2. c语言延时函数_介召几个frida在安卓逆向中使用的脚本以及延时Hook手法
  3. 算法--------数组--------容纳最多的水
  4. 【新星计划】MATLAB绘制图形
  5. Document Builder: 怎样根据document ID使用API获得document的所有数据
  6. Api demo源码学习(8)--App/Activity/QuickContactsDemo --获取系统联系人信息
  7. 如何在windows机器上安装apache ab
  8. 苹果系统使用之输入法的呈现与设置问题
  9. 计算机网络 第章 运输层
  10. MongoDB 数据集合导出 与 导入
  11. 如何安装仿宋GB2312字体
  12. 从随机森林到极端随机森林,再到深度森林
  13. 【c】蔡勒公式计算日期
  14. 安装的时候出现SPSS中can not create java virtual machine问题怎么办
  15. 计算机网络-聊天室的设计与实现
  16. 关于能力素质模型建模
  17. regedit.exe参数说明
  18. 养猫日记之如何获得一只喵
  19. 如何用cmd打开管理员模式
  20. 非谓语动词 + 情态动词学习笔记

热门文章

  1. C#关于事件的几个好例子
  2. Delphi 与 DirectX 之 DelphiX(72): TDIB.SephiaEffect();
  3. Apache Mahout基于商品的协同过滤算法流程分析
  4. android 开机启动服务。
  5. 电商顾客满意的五大决定因素
  6. 使用开源CRM进行客户关系管理(2)
  7. 创作共用协议创始人-Lawrence Lessig(2)
  8. 898. 子数组按位或操作
  9. python read_csv chunk_Python 数据分析之逐块读取文本的实现
  10. 【GVA】gorm多对多many2many删除数据的同时级联删除关联中间表中的关联数据