美文网首页程序员java学习记录
javaIO流---转换流与缓冲流

javaIO流---转换流与缓冲流

作者: 一花一世界yu | 来源:发表于2020-05-06 23:00 被阅读0次

一、重点知识

抽取方法的快捷键 alt+shift+m

fileread和filewriter是转换流的子类

write是可以直接写出字符串的,或者写出字符串得一部分

转换流的父类是read 和 writer

关闭流只关闭外层流就可以了,外层流调用close会自动调用内层流的close

转换流一般在网络编程中使用,因为网络编程中获得的都是字节流,所以需要转换流

String类型数据在创建时也可以指定编码集

只有转换流可以指定编码集,别的流都不可以

缓冲流自带字节数组作为缓冲区容量为1024*8,数组在内存空间中,所以读取速度快

处理流和节点流并不一定有子父类关系

缓冲流的优势在于他的缓存空间自己管理,不需要我们去管理了

二、重点问题

如果用字符流读取不同编码得文件会乱码吗

会的,因为不用的编码对应着不同的规则,编码决定了解码的方式,开发工具有自己开始设置的字符集

三、课堂知识

3.1、FileReader

读取方法

read()-->int,读取一个字符,返回值就是读到的数据,末尾-1.

read(char[] cs)-->int,读取多个字符,存入cs字符数组中,返回值读取的个数。末尾-1

read(char[] cs,int off,int len)-->int,读取多个字符,末尾-1

读入的文件一定要存在,否则就会报FileNotFoundException。

3.2、FileWriter

1、构造方法:

FileWriter(String path);

FileWriter(File file);

FileWriter(String path,boolean append);

FileWriter(File file, boolean append);

2、写出数据

void write(int),将参数这个字符,写出去

void write(char[] cs),将整个cs数组的所有数据,全部写出

void write(char[] cs,int off,int len),将cs数组的一部分写出,从下标off开始,len个

void write(String s),直接将一个字符串写出

void write(String s, int off,int len),写出字符串的一部分

3.3、InputStreamReader

InputStreamReader:将一个字节的输入流转换为字符的输入流

解码:字节、字节数组  --->字符数组、字符串

3.4、OutputStreamWriter

OutputStreamWriter:将一个字符的输出流转换为字节的输出流

编码:字符数组、字符串 ---> 字节、字节数组

3.5缓冲流

1.缓冲流涉及到的类:

* BufferedInputStream

* BufferedOutputStream

* BufferedReader

* BufferedWriter

2.作用

缓存流:目的:高效。

原理:自带了一个数组作为缓冲区。读写发生在数组上。数组占内存,速度很快。

FileInputStream

read()-->int,访问磁盘,操作文件,读一个字节回来。。

BufferedInputStream

read()-->int,先找缓冲区,从缓冲区中读取一个字节回来。fill(),读取磁盘文件,填充缓冲区

byte[] bs ,作为缓冲区:1024*8。

相关文章

  • javaIO流---转换流与缓冲流

    一、重点知识 抽取方法的快捷键 alt+shift+m fileread和filewriter是转换流的子类 ...

  • Java学习笔记 20 - 转换流、缓冲流

    本文主要内容1、转换流2、缓冲流3、各种流文件复制方式的效率比较4、IO流对象的操作规律 01转换流 A: 转换流...

  • 2019-03-04

    高效缓冲流,转换流,序列化流,打印流。。 能够高效读写的缓冲流,能够转换编码的转换流,能够持久化存储对象的序列化流...

  • Java 进阶:Java File & IO—2

    目录 一、转换流二、字节缓冲流三、字符缓冲流四、序列化流与反序列化流五、打印流六、标准输入、输出流七、IO流总结 ...

  • Java学习Day18

    今日学习内容总结 缓冲流 转换流 序列化 打印流 缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增...

  • 缓冲流、转换流、序列化流

    主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据...

  • Java基础 缓冲流、转换流、序列化流

    主要内容 转换流 缓冲流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据...

  • IO流

    一、IO流的概述: 二、IO流的分类: 三、字节缓冲流: 四、字符缓冲流: 五、转换流(把字节流转换为字符流): ...

  • Java学习——day 17

    主要内容 缓冲流 转换流 字节数组流 数据流 对象流 笔记详情 1. 缓冲流 Java中的流可以分为节点流和处理流...

  • JavaIO 总结笔记<四> 缓冲流和转换流

    个人博客、个人简书、gitHub主页 一、缓冲流 1.缓冲区 基本字节流没有缓冲区 基本字符流有缓冲区(...

网友评论

    本文标题:javaIO流---转换流与缓冲流

    本文链接:https://www.haomeiwen.com/subject/mcngghtx.html