异常,IO流,转换流,序列

【本周总结】

1. Java学习

1.异常

  • 一个方法在执行的过程中如果产生了异常,那么需要在方法后面使用throws来抛出(生成)一个代表该异常的对象,并自动把它交给系统处理
  • throw 语句 的作用其实就是检测到执行方法时出现的异常,停止执行程序 ,然后将异常显示在控制台
  • try catch 捕获异常的代码 ,那么就可以处理异常,这样就会避免程序停止执行
    • try {
      有可能发生异常的代码
      } catch (有可能产生的异常类 变量名){
      若该异常产生,则进行此处操作
      }
    • try和catch均可有多个
    • 可在catch代码块后面添加finally代码块,无论前方代码是否有异常,finally代码块都会执行

2.IO流

  • InputStream 字节输入流(把硬盘中的字节输入到内存中)
    • FileInputStream 文件字节输入流
      读取文件中的字节到内存中
      使用之后需要使用close方法关闭流
      每次读取一个字节,或者使用字节数组读取多个字节
    • BufferedInputStream 字节缓冲输入流
      会附带一个默认的缓冲区,将读取到的字节暂时存储在缓冲区里,一次性进行传输,效率很高
  • OutputStream 字节输出流(把内存中的字节输出到硬盘中)
    • FileOutputStream 文件字节输出流
      读取内存中的字节到文件中
      使用构造方法时,可以通过一个Boolean参数来决定是否覆盖已存在的文件
      若Boolean参数为true,输出流不会刷新所指向的文件(假如文件已存在)
      若Boolean参数为false,输出流将刷新所指向的文件(假如文件已存在)
      读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
      使用之后需要使用close方法关闭流
      每次读取一个字节,或者使用字节数组读取多个字节
    • BufferedOutputStream 字节缓冲输出流
      会附带一个默认的缓冲区,将读取到的字节暂时存储在缓冲区里,一次性进行传输,效率很高
  • Reader 字符输入流
    • FileReader 文件字符输入流
      读取文件中的字符到内存中
      使用之后需要使用close方法关闭流
      每次读取一个字符,或者使用字节数组读取多个字符
    • BufferedReader 字符输入缓冲流
      会附带一个默认的缓冲区,将读取到的字符暂时存储在缓冲区里,一次性进行传输,效率很高
  • Writer 字符输出流
    • FileWriter 文件字符输出流
      读取内存中的字符到文件中
      使用构造方法时,可以通过一个Boolean参数来决定是否覆盖已存在的文件
      若Boolean参数为true,输出流不会刷新所指向的文件(假如文件已存在)
      若Boolean参数为false,输出流将刷新所指向的文件(假如文件已存在)
      读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
      使用之后需要使用close方法关闭流
      每次读取一个字符,或者使用字节数组读取多个字符
    • BufferedWriter 字符输出缓冲流
      会附带一个默认的缓冲区,将读取到的字符暂时存储在缓冲区里,一次性进行传输,效率很高

3.转换流

  • OutputStreamWriter 读取字符转化为原始字节
    • 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
      读取完成后需要使用flush方法将其读取的数据刷入文件中(若无该操作,close方法会默认进行该操作,然后关闭流)
      使用之后需要使用close方法关闭流,无需对字节输出流进行关闭,关闭该流的同时也会关闭字节输出流
  • InputStreamReader 读取原始字节转化为字符
    • 构造方法时可以需构造一个字节输出流,也可选择转换的码表,若不选择则默认为系统码表
      使用之后需要使用close方法关闭流,无需对字节输出流进行关闭,关闭该流的同时也会关闭字节输出流

4.序列与反序列

  • 序列与反序列化需要实现 Java Serializable 接口
  • ObjectOutputStream 对象输出流
    • 把对象转换为字节序列的过程称为对象的序列化
      将对象转化为字节之后方便输出
  • ObjectInputStream 对象输入流
    • 把字节序列恢复为对象的过程称为对象的反序列化
      把字节序列转化为一个对象

【遇到的问题及思考】

1.Java还是缺乏有效的锻炼

2.对于目前所学知识掌握不熟练

【下周计划】

1.继续学习Java

2.继续学习算法与数据结构

3.做好周报总结

4.完成本周任务

5.写博客

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值