java字节字符流实验报告_JAVA学习之字节流、字符流

第一章 IO概述

1.1 IO的分类

根据数据的流向分为:输入流和输出流。

输入流:把数据从其他设备上读取到内存中的流。

输出流:把数据从内存中写出到其他设备上的流。

格局数据的类型分为:字节流和字符流。

字节流:以字节为单位,读写数据的流。

字符流:以字符为单位,读写数据的流。

818e8552b99173924f784c36aa9e08b0.png

第二章 字节流

2.1 字节输出流【OutputStream】

8ddd639256def7c995f032aec33d4d54.png

2.2 FileOutputStream类

a678d48eea6a1e1dbd89cf8ec8c93f12.png

4a32eec116ff321d2e8509815cc5702a.png

6f6155617bf885016274dfa7927c238b.png

db8e12ffa858fdddafa1218debf0e137.png

2.3 字节输入流【InputStream】

71cc840649aea060b3311d273b1379ca.png

79b1126ea074dc95ffef054964f5105e.png

第三章 字符流

3.1 字符输入流【Reader】

java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。它定义了字符输入流的基本共性功能方法。

public void close():关闭此流并释放与此流相关联的任何系统资源。

public int read(): 从输入流读取一个字符。

public int read(char[] cbuf): 从输入流中读取一些字符,并将它们存储到字符数组 cbuf中 。

3.2 FileReader类

java.io.FileReader类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

小贴士:

字符编码:字节与字符的对应规则。Windows系统的中文编码默认是GBK编码表。

idea中UTF-8

字节缓冲区:一个字节数组,用来临时存储字节数据。

构造方法

FileReader(File file): 创建一个新的 FileReader ,给定要读取的File对象。

FileReader(String fileName): 创建一个新的 FileReader ,给定要读取的文件的名称。

c48955a92a8dc1a018c267ea345b46d3.png

3.3 字符输出流【Writer】

java.io.Writer抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。它定义了字节输出流的基本共性功能方法。

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

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

abstract void write(char[] cbuf, int off, int len)写入字符数组的某一部分,off数组的开始索引,len写的字符个数。

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

void write(String str, int off, int len)写入字符串的某一部分,off字符串的开始索引,len写的字符个数。

void flush()刷新该流的缓冲。

void close()关闭此流,但要先刷新它。

3.4 FileWriter类

构造方法

FileWriter(File file): 创建一个新的 FileWriter,给定要读取的File对象。

FileWriter(String fileName): 创建一个新的 FileWriter,给定要读取的文件的名称。

1.写出字符数组:write(char[] cbuf)和write(char[] cbuf, int off, int len)

2、写出字符串:write(String str)和write(String str, int off, int len)

关闭和刷新

因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中。但是关闭的流对象,是无法继续写出数据的。如果我们既想写出数据,又想继续使用流,就需要flush方法了。

flush:刷新缓冲区,流对象可以继续使用。

close:先刷新缓冲区,然后通知系统释放资源。流对象不可以再被使用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值