java基础之IO

本文详细介绍了Java中的IO流概念,包括字符流与字节流的区别及应用,如FileReader、FileWriter、InputStream、OutputStream等核心类的功能与使用方法。此外还讲解了缓冲流(BufferedReader、BufferedWriter)的作用及如何通过转换流(InputStreamReader、OutputStreamWriter)实现字符流与字节流之间的转换。

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

流就是从一个目的将数据传送到另一个目的,通常传送的地点有以下这些:内存,硬盘,控制台,键盘,套接字网口

IO流分为字节流和字符流。

一、字符流分为Reader(输入流,表示读入)和Writer(输出流,表示写出)

字符流其实底层还是字节传输,只是将若干个字节缓冲存储然后去查找字符映射表(简称码表),对应码表转换成对应的字符。

字符流按照功能能,常用的有以下:

FileReader 读取文件

FileWriter 写出到文件

字符流的缓冲区技术,提高效率

BufferedReader

BufferedWriter

缓冲流实际上是装饰设计模块的一种实现。

当想要对自己已为的对象进行功能增强时,可以定义类,将已为对象传入,基于已有的功能,并提供加强功能!那么自定义的该类就称为装饰类。

装饰类与继承的区别:如果使用继承,将会每个类增加一个子类,使得整个类的体系非常臃肿,而使用装饰模式后,只有对原来的类进行装饰就可

以,而不用增加很多子类。如下面的两个体系,显然右边的更优:

二、节字流

InputStream //字节输入流

OutputStrem //字节输出流

FileInputStream //读入字节 字节是最小的传输单位,中间不需要缓冲,所以不需要刷新,不用调用flush

FileOutputStream //写出字节

例子,使用字节流拷贝一个图片:

字符流与字节流的桥梁,转换流

InputStreamReader //字节流----->字符流 由于字节流没有对应的缓冲流,所以为了使用到缓冲流提高效率,就要将数据转换成字符流。键盘录入System.in是节字流,通常

使用转换流提高效率。

InputStreamWriter //字符流------->字节流

BufferedReader bufr = new BufferedReder(new InputStreamReader(System.in));

BufferedWriter bufw = new BufferedWriter(new OutputStreamReader(System.out));

其他有用的流:打印流 PrintStream, PrintWriter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值