全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java-流的使用完结与异常处理机制(详解)

1.1 java.io.objectInputStream 对象输入流:用于将一组字节(通过对象输出流写出对象而转换的一组字节)读取并转换为对应的对象。对象输出流将对象写出时转换为一组字节的过程,称为:对象序列化对象输入流将这组字节读取并还原会对象的过程,称为:对象反序列化

1.2 java.io.Serializable Serializable序列化接口

当一个类实现了Serializable接口后,应当在当前类中添加一个常量: 序列化版本号serialVersionUID

序列化版本号若不指定,那么编译器会在编译后的class文件中默认添加一个,而值则是根据当前类结构生成,但这有一个问题,若当前类的结构发生了变化,那么版本号会发生变化,所以建议自行制定版本号 版本号影响对象反序列化的结果:当对象输入流读取一个对象并尝试进行反序列化时会检测该对象的版本号与其所属类现有版本号是否一致,一致则反序列化成功,不一致则反序列化失败版本号一致的情况下,若待反序列化的对象与当前类现有结构不一致是,则采取兼容模式,即:该对象的属相现有类依然有的则还原,没有的则被忽略。

transient--关键字:该关键字用来修饰属性,那么当该对象进行序列化时,这个属性的值会被忽略,从而达到对象“瘦身”的效果

1.3 java.io.FileOutputStream;Java根据流读写数据的单位划分为:字节流,字符流 字节流以字节为单位读写数据字符流以字符(unicode)为单位读写数据,但是底层本质上还是读写字节,只是字节与字符的转换工作有字符流完成Weiter与Reader是所有字符流的父类,他们是一对抽象类,规定了所有字符流都要具备的读写字符方法。转换流OutoutStreamWriter与InputStreamReader是字符流的一对常见实现类

OutputStreamWriter的构造方法支持第二个参数,可以指定字符集,这样通过该流写出的字符都会按照指定的字符集转换,若不指定第二个参数则安装系统默认字符集转换

1.4 java.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.5 java.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-流的使用完结与异常处理机制(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java异常处理机制  # java异常处理机制示例(java抛出异常、捕获、断言)  # 深入理解java异常处理机制的原理和开发应用  # java多线程中的异常处理机制简析  # 剖析Java中的事件处理与异常处理机制  # 全面理解java中的异常处理机制  # JAVA异常处理机制之throws/throw使用情况  # Java异常处理机制try catch流程详解  # 深入理解java异常处理机制及应用  # Java中的异常处理机制介绍(非常全面!)  # 序列化  # 第二个  # 都要  # 给大家  # 转换为  # 若不  # 抛出  # 有一个  # 我是  # 多个  # 子类  # 如有  # 是由  # 则是  # 会在  # 希望能  # 大神  # 将被  # 但这  # 在上面 


相关文章: 如何使用Golang table-driven基准测试_多组数据测量函数效率  如何在万网开始建站?分步指南解析  高性能网站服务器配置指南:安全稳定与高效建站核心方案  中山网站推广排名,中山信息港登录入口?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何在VPS电脑上快速搭建网站?  建站168自助建站系统:快速模板定制与SEO优化指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  如何在建站宝盒中设置产品搜索功能?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  如何通过虚拟机搭建网站?详细步骤解析  为什么Go需要go mod文件_Go go mod文件作用说明  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何用狗爹虚拟主机快速搭建网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站之星安装后界面空白如何解决?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  自助网站制作软件,个人如何自助建网站?  建站之星如何快速生成多端适配网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何通过西部数码建站助手快速创建专业网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何通过虚拟主机空间快速建站?  实例解析angularjs的filter过滤器  ,网站推广常用方法?  在线制作视频网站免费,都有哪些好的动漫网站?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  Thinkphp 中 distinct 的用法解析  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  完全自定义免费建站平台:主题模板在线生成一站式服务  宝塔建站后网页无法访问如何解决?  如何获取开源自助建站系统免费下载链接?  建站VPS推荐:2025年高性能服务器配置指南  如何在局域网内绑定自建网站域名?  长沙做网站要多少钱,长沙国安网络怎么样?  ,在苏州找工作,上哪个网站比较好?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  香港服务器如何优化才能显著提升网站加载速度?  ,石家庄四十八中学官网?  建站主机无法访问?如何排查域名与服务器问题  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何彻底删除建站之星生成的Banner?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  已有域名和空间如何快速搭建网站?  如何在IIS中配置站点IP、端口及主机头?  免费视频制作网站,更新又快又好的免费电影网站?  郑州企业网站制作公司,郑州招聘网站有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。