day20:转换流、字符的高效流、对象流(序列化)、IO总结、方法多参数、Properties、 Properties工具类的封装

这篇博客详细讲解了Java IO流中的字符流、转换流(InputStreamReader与OutputStreamWriter)及其高效流BufferedReader与BufferedWriter的使用,包括文件内容复制、序列化与反序列化。同时,介绍了Properties类及其在处理配置文件中的应用,强调了字符编码和多参数方法的重要性。
摘要由CSDN通过智能技术生成

一 回顾

1.IO 流: 

        按照流向:输入流与输出流

        按照类型: 字节流与字符流

2.字节流-写:

        OutputStream   public void close() 关闭资源  

        public void flush() 将缓冲区的数据刷新到硬盘中   (写)

        public void write(byte[] b) 将字节数据的内容写入  

        public abstract void write(int b) 一个一个字节的写入  

        public void write(byte[] b,int off,int len) 写指定数组的指定长度的数据写入

3.文件写-FileOutputStream

4.使用的步骤  

        A.实例化-FileOutputStream  

        B.调用写的方法  

        C.关闭资源

5.字节流-读:InputStream  

        public void close() 关闭资源  

        public abstract int read() 一个一个字节读  

        public int read(byte[] b) 一次读取多个字节 放入到缓冲数组中  

        public int read(byte[] b,int off,int len)一次读取指定长度多个字节 放入到缓冲数组中6.read()与 read(byte[] b)  

        read() 低                              read(byte[] b) 高  

        一个一个字节读                  一次读取多个字节  

        返回读取的字节的内容      读取的有效的字节个数

7.高效流   BufferedInputStream 读 BufferedOutputStream 写 底层有一个长度8192的缓冲区数组

8.字符流:  

        A.字符流= 字节流+编码表

9.字符流- 读  (只有char )

        Reader   

        public int read() 一个一个字符读取  

         public int read(char[] cbuf) 一次多个字符  

        public abstract int read(char[] cbuf,int off,int len) 一次读取指定的字符  

        FileReader

10.字符流 -写  (可以char[] string)

        Writer      

                public void write(char[] cbuf) 写多个字符      

                public void write(int c) 写一个字符      

                public void write(String str) 写字符串    

        FileWriter 文件

二 作业01

step01 需求

 {a=2, b=2, c=2, d=2}

五 字符流

5.1字符流文件内容copy的流程

 注意点:

        A.不能使用字符流来读取音视频以及图片

        B. 原因:因为使用字符流读取文件的时候 需要依赖于编码表来进行转换 

                音视频 不能使用常规编码表来进行转换

六 转换流

6.1 InputStreamReader-简介

A.InputStreamReader 是字节流通向字符流的桥梁

B.它使用指定的 charset 读取字节并将其解码为字符 可以设置其编码的格式

C.为了达到最高效率,可要考虑在 BufferedReader

6.2 常用构造方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LI JS@你猜啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值