关于IO流的分类总结

本文介绍了Java中字节流和字符流的各种类型及其用途,并提供了选择流类型的标准指南。包括InputStream、OutputStream、Reader和Writer等核心接口及其实现类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字节流

* 输入流:InputStream 所有字节输入流父类,抽象类

* FileInputStream 非缓冲字节输入流,效率低 不推荐直接使用

* BufferedInputStream 缓冲字节输入流, 效率高 推荐直接使用

* ObjectInputStream 对象输入流,当需要从文件中读取自定义对象时使用

* 输出流:OutputStream:所有字节输出流的父类,抽象类

* FileOutputStream:非缓冲字节输出流,效率低,不推荐直接使用

* BufferedOutputStream:缓冲字节输出流, 效率高 推荐直接使用

* ObjectOutputStream:对象输出流,当需要保存自定义对象到文件中时使用。

* PrintStream:字节打印流,需要原样输出各种数据类型的值时使用

字符流

* 输入流:Reader:所有字符输入流的父类,抽象类

* FileReader:非缓冲字符输入流,效率低,不推荐直接使用

* BufferedReader:缓冲字符输入流, 效率高 推荐直接使用

* InputStreamReader:字符转换输入流,当需要修改编码表名称读取数据时使用。

* 输出流:Writer:所有字符输出流的父类,抽象类

* FileWriter:非缓冲字符输出流,效率低,不推荐直接使用

* BufferedWriter:缓冲字符输出流, 效率高 推荐直接使用

* OutputStreamWriter:字符转换输出流,当需要指定编码表名称输出数据时使用

* PrintWriter:字符打印流:需要原样输出各种数据类型的值时使用

字节流和字符流的选择

* 先判断要读写的文件类型

* 如果是文本文件,则强烈推荐使用字符流。

* 如果是非文本文件,则只能选择字节流。

* 然后确定是输入操作还是输出操作

* 如果是读取操作,则选择输入流

* 如果是写出操作,则选择输出流

 

 

 

没时间上代码,虽热流的类型很多,但用法都是大同小异的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值