![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IO流
文章平均质量分 75
正橙橙橙橙
这个作者很懒,什么都没留下…
展开
-
IO流-转换流
我们在之前学到过,使用字节流时,会出现乱码问题,其实使用字符流也会出现。因为在默认情况下,我们使用字符流处理时,读取文件默认使用的是UTF-8编码。如果我们的文件采用的是gbk编码怎么办呢?如果仍然采取这样的读取方式,就会出现乱码问题。那么如何解决呢,java中,字节流的读取可以使用不同的编码方式读取,只需要将字节流包装成字符流,再通过Buffered的包装,就可以提高效率的同时,不会出现乱码错误。为了解决字节流转化成字符流的问题,所以,我们引入了转换流。转化流 InputStreamRea原创 2021-10-06 16:39:59 · 186 阅读 · 0 评论 -
IO流-序列化与反序列化
在使用IO流保存信息的过程中,我们如果想要将数据的类型也保存下来应该如何操作?例如我想保存的是将 int num = 100 ,这个100存入到文件中,并且要求能够读取时,能恢复其是int型的100。应该怎么做?使用寿命样的方法?我们由此引出了序列化与反序列化。序列化就是在保存数据时,保存数据的值和数据类型。反序列化就是在恢复数据时,恢复数据的值和数据类型。需要让某个对象支持序列化机制,那么必须让其类是可序列化的,为了让某个类是可序列化的,该类必须实现如下两个接口之一:Se...原创 2021-10-06 15:55:00 · 105 阅读 · 0 评论 -
IO-Buffered包装类
我们在之前的装饰者设计模式中,我们学到了,包装类BufferedReader和BufferedWriter是用于修饰节点流的。让我们处理节点流能够有更强的功能。下面演示BufferReader和Writer的基本用法。package IO流.Buffered;import java.io.*;/** * @program:多线程和IO * @descripton: * @author:ZhengCheng * @create:2021/10/5-17:35 **/public原创 2021-10-05 17:48:38 · 140 阅读 · 0 评论 -
设计模式-装饰者模式
在IO的学习中,BufferReader/Writer这两个类是包装类,里面可以传入一些其他的FileInputStream,于是去学习,什么是装饰者模式。装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。具体的就是,我们在实现一个奶茶店的消费系统时,因为有许多小料的加入,如何合理的设计,成为一个麻烦。如果让我们的奶茶单品与每一个小料组合都作为子类,那么类过多,且不方便维护。如果我们在最顶层的类中,加入各个小料的一个Boolean值,用于最后计算Cost。但是原创 2021-10-04 21:40:16 · 161 阅读 · 2 评论 -
IO流-基础输入输出
按照操作数据单位不同分为:字节流:8bit (操作二进制文件,保证文件无损操作输入(顶层父类):FileInputStream 输出(顶层父类):FileOutputStream字符流:按照字符为单位(效率高)输入(顶层父类):Reader 输出(顶层父类):Writer按照流的角色分类: 节点流,处理流/包装流首先针对FileInputStream进行学习说明(写、读):在下面demo中,读取中文出现了乱码问题,在后续中可以解决。...原创 2021-10-04 19:22:13 · 61 阅读 · 0 评论 -
IO流-创建删除文件以及一般API
使用IO流创建文件,三种方式package IO流.CreateFile;import java.io.File;import java.io.IOException;/** * @program:多线程和IO * @descripton:创建新文件 * @author:ZhengCheng * @create:2021/10/4-13:24 **/public class CreateNewFile { public static void main(String[.原创 2021-10-04 17:38:20 · 209 阅读 · 0 评论