1.1java.io.objectInputStream 对象输入流:用于将一组字节(通过对象输出流写出对象而转换的一组字节)读取并转换为对应的对象。对象输出流将对象写出时转换为一组字节的过程,称为:对象序列化对象输入流将这组字节读取并还原会对象的过程,称为:对象反序列化
1.2java.io.Serializable Serializable序列化接口
当一个类实现了Serializable接口后,应当在当前类中添加一个常量: 序列化版本号serialVersionUID
序列化版本号若不指定,那么编译器会在编译后的class文件中默认添加一个,而值则是根据当前类结构生成,但这有一个问题,若当前类的结构发生了变化,那么版本号会发生变化,所以建议自行制定版本号 版本号影响对象反序列化的结果:当对象输入流读取一个对象并尝试进行反序列化时会检测该对象的版本号与其所属类现有版本号是否一致,一致则反序列化成功,不一致则反序列化失败版本号一致的情况下,若待反序列化的对象与当前类现有结构不一致是,则采取兼容模式,即:该对象的属相现有类依然有的则还原,没有的则被忽略。
transient--关键字:该关键字用来修饰属性,那么当该对象进行序列化时,这个属性的值会被忽略,从而达到对象“瘦身”的效果
1.3java.io.FileOutputStream;Java根据流读写数据的单位划分为:字节流,字符流 字节流以字节为单位读写数据字符流以字符(unicode)为单位读写数据,但是底层本质上还是读写字节,只是字节与字符的转换工作有字符流完成Weiter与Reader是所有字符流的父类,他们是一对抽象类,规定了所有字符流都要具备的读写字符方法。转换流OutoutStreamWriter与InputStreamReader是字符流的一对常见实现类
OutputStreamWriter的构造方法支持第二个参数,可以指定字符集,这样通过该流写出的字符都会按照指定的字符集转换,若不指定第二个参数则安装系统默认字符集转换
1.4java.io.PrintWriter;缓冲字符流:缓冲字符流内置缓冲区,可以提高读写字符效率,并且缓冲字符流的特点可以按行读写字符串。
java.io.BufferedWriter
java.io.BufferefReader
java.io.printWriter是常用的缓冲字符输出流,并且还提供了支佛那个行刷新功能,由于创建PrintWriter时其内部总是嵌套BufferedWriter所以实际的缓冲操作是由BufferefWriter实现
printWriter(pw)支持直接对文件操作的构造方法
printwriter(String path,String snc)
printwriter(File file,String snc)
csn:charset name 字符集名称
PrintWriter在流链接中的构造方法:
PrintWriter(OutputStream out)
PrintWriter(Writer out)
使用上诉构造方法是,有一个对应的重载构造方法要求传入第二个参数,该参数为boolean值若该值为true,则pw具有自动行刷新功能,即:每当使用PW。println()写出内容后都会自动进行
flush操作
PrintWriter(OutputStream out,boolean autoflush)
PrintWriter(Writer out,boolean autoflush)
1.5java.io.BufferedReader;缓冲字节输入流 可以按行读取字符串
BufferedReader提供方法:
String readLine()连续读取若干字符,知道读取了换行符为止,将之前的所有字符以一个字符串形式返回。注意,返回的字符串中是不包含最后的换行的,若返回为null,则表示末尾.
2.1异常捕获机制中的try-catch
catch可以定义多个,针对try代码块中可能出现的异常有不同的处理方式时,需要单独捕获这些异常并编写解决手段代码但是应当养成一个习惯,就是在最后捕获一个Exceotion,这样会避免因抛出一个未捕获的异常导致程序出现中断的情况,当捕获的异常之间存在继承关系时,需要将子类异常定义在上面捕获,后定义父类型异常。
异常捕获机制中的finally;finally块只能定义在异常捕获机制的最后,即:try之后或者一个catch之后。finally块可以保证无论try语句块中的代码是否抛出异常,finally块中的代码都必将执行。所以通常会将无关异常都要执行的代码放入finally块中确保执行,比如IO操作中的关闭流操作。

注意:finalize;当一个对象即将被GC释放前,GC会调用该对象的finalize方法,调用后该对象即被释放。finalize方法是Object定义的方法

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!

java-流的使用完结与异常处理机制的更多相关文章

  1. 【Go语言】错误与异常处理机制

    ①error接口 Go语言中的error类型实际上是抽象了Error()方法的error接口 type error interface { Error() string } Go语言使用该接口进行标准 ...

  2. Java 异常处理机制和集合框架

    一.实验目的 掌握面向对象程序设计技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境 三.实验内容 1.Java异常处理机制涉及5个关键字:t ...

  3. Java异常处理机制 —— 深入理解与开发应用

    本文为原创博文,严禁转载,侵权必究! Java异常处理机制在日常开发中应用频繁,其最主要的不外乎几个关键字:try.catch.finally.throw.throws,以及各种各样的Exceptio ...

  4. 如何正确使用Java异常处理机制

    文章来源:leaforbook - 如何正确使用Java异常处理机制作者:士别三日 第一节 异常处理概述 第二节 Java异常处理类 2.1 Throwable 2.1.1 Throwable有五种构 ...

  5. Java异常处理机制的秘密

    一.结论 这些结论你可能从未听说过,但其正确性是毋庸置疑的,不妨先看看: 1.catch中throw不一定能抛回到上一层,因为finally中的return会抑制这个throw 2.finally中t ...

  6. java异常处理机制详解

    java异常处理机制详解 程序很难做到完美,不免有各种各样的异常.比如程序本身有bug,比如程序打印时打印机没有纸了,比如内存不足.为了解决这些异常,我们需要知道异常发生的原因.对于一些常见的异常,我 ...

  7. Java异常处理机制 try-catch-finally 剖析

    Java拥有着强大的异常处理机制,最近初步学习了下,感觉内容还是挺多的,特此来将自己的理解写出来与大家分享. 一. 在Java代码code中,由于使用Myeclipse IDE,可以自动提醒用户哪里有 ...

  8. JAVA 异常处理机制

    主要讲述几点: 一.异常的简介 二.异常处理流程 三.运行时异常和非运行时异常 四.throws和throw关键字 一.异常简介 异常处理是在程序运行之中出现的情况,例如除数为零.异常类(Except ...

  9. 深入理解java异常处理机制

       异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的 ...

随机推荐

  1. 代码模板整理(0):先水一波a+b

    梦开始的地方 "Hello World!" #include<bits/stdc++.h> using namespace std; int main(){ cout& ...

  2. jenkins 自动化部署vue前端+java后端项目 进阶一

    今天又不想写了,那么我来将我参考的文章直接分享给大家好了,大家也可以直接进行参考: 这里以centos7为例搭建自动化部署项目: 1.搭建部署前端服务代理nginx: 借鉴于:https://blog ...

  3. 阶段性总结 GDOI 2022 PJ

    阶段性总结 GDOI 2022 PJ 比赛经过 Day ? ~ Day -1 半停课集训,补了很多东西,但是之前漏得太多了,结果是还有很多题没改 打了若干场 AtCoder ,承认自己思维的不足,训练 ...

  4. JavasScript打印年月日时间代码

    就是Date的API,直接上代码啦. //打印中文的日期 function printChineseDateTime() { var now=new Date(); var str = now.get ...

  5. 在.NET中计算文件的MD5值

    更新记录 本文迁移自Panda666原博客,原发布时间:2021年7月2日. 直接上代码吧: using System; using System.IO; using System.Security. ...

  6. go-zero微服务实战系列(四、CRUD热热身)

    上一篇文章我们把整个项目的架子搭建完成,服务在本地也已经能运行起来了,顺利成章的接下来我们就应该开始写业务逻辑代码了,但是单纯的写业务逻辑代码是比较枯燥的,业务逻辑的代码我会不断地补充到 lerbon ...

  7. 14.Nginx搭建及优化

    Nginx搭建及优化 目录 Nginx搭建及优化 Nginx服务基础 概述 Nginx和Apache的优缺点比较 编译安装Nginx服务 添加Nginx系统服务 Nginx服务配置文件 nginx服务 ...

  8. SAP 实例 3 Context Menus

    REPORT demo_dynpro_context_menu. DATA: field1 TYPE i VALUE 10, field2 TYPE p DECIMALS 4. DATA: prog ...

  9. 11.2 Android Studio如何切换主题和更改字体

    如何进入设置? 全平台启动界面 Configure-Preferences 主界面 Windows版本:File-Settings Mac版本:Android Studio-Preferences 外 ...

  10. Grammarly for Chrome-语法、用词自动检查

    从语法和拼写到风格和语气,Grammarly帮助你消除写作错误,找到完美的词语来表达自己.当你在Gmail.Twitter.LinkedIn和几乎任何你发现自己在写作的地方写作时,你都会从Gramma ...