IO流相关知识(File,Java开发者面试如何系统复习

文章目录

    • IO流相关知识(File,字节流,字符流,特殊操作流(标准输入流,标准输出流,对象序列化与反序列化,properties与IO流结合))相关知识总结
  • 前言

  • 一、File

    • 1.File类的概述和构造方法
  • 2.File类创建功能

  • 3.File类判断和获取功能

  • 4.File类删除功能

  • 二、字节流

    • 1.IO流的概述和分类
  • 2.字节流写数据

  • 3.字节流写数据的两个小问题

  • 4.字节流写入数据假异常处理

  • 5.字节流读数据(重点)

  • 6.字节缓冲流

  • 7.如何选择怎样得数据读取呢?

  • 三、字符流

    • 1.为什么会出现字符流?
  • 2.字符串中的编码解码问题

  • 3.如何实现解决编译解码的问题

  • 4.字符流写数据的方法

  • 5.字符流读数据的方法

  • 6.字符流复制文件

  • 7.字符缓冲流

  • 8.字节,字符流小结

  • 9.复制文件的异常处理

  • 四、特殊操作流

    • 1.标准输入流
  • 2.标准输出流

  • 3.打印流

  • 4.对象序列化流与对象反序列化流(它是基于字节流上的)

  • 5.解决对象序列化流的三个问题

  • 6.Properties

  • 总结


前言

=================================================================

流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出

一、File

=====================================================================

1.File类的概述和构造方法


在这里插入图片描述

在这里插入图片描述

通过如上的图相信对文件打的相关应用已经有了初步的认识,因为封装的不是真正存在的文件,仅仅是一个路径名而已,所以没有那个路径的文件也可以写,不会报错,将来是把不存在的转换为具体存在的。

2.File类创建功能


在这里插入图片描述

这里需要注意的是:不能根据目录来判断是创建的文件还是目录,而是通过调用的方法来判断的,路径那个只是名字而已,文件和目录的名字也不能是一样的

3.File类判断和获取功能


在这里插入图片描述

4.File类删除功能


在这里插入图片描述

注意:File的相关操作与字节流没有继承的关系,所以要删除文件的话还是的用File的删除功能才可

二、字节流

====================================================================

1.IO流的概述和分类


概述

在这里插入图片描述

分类

在这里插入图片描述

2.字节流写数据


在这里插入图片描述

记得一定要释放资源

3.字节流写数据的两个小问题


字节流写数据如何换行

在这里插入图片描述不同的操作系统的换行是不一样的

字节流写数据如何实现追加写入

在这里插入图片描述

值得注意的是是在文件的后面添加,而原来的数据还是有的,所以在用的时候就要考虑一下是怎样使用自己的文件的

4.字节流写入数据假异常处理


在这里插入图片描述

就是简单的异常处理而已,如果不使用处理的话就抛出就可以了

5.字节流读数据(重点)


一次读一个字节的数据

在这里插入图片描述

标准的代码格式就是这样的

在这里插入图片描述

一次读一个数组的数据

在这里插入图片描述

在这里插入图片描述

字节流读数据其实很简单,这里需要注意的是字节流读数据的话可以有两种方法,至于使用怎样的方法就得取决于自己得使用就行了

6.字节缓冲流


在这里插入图片描述

在这里插入图片描述

7.如何选择怎样得数据读取呢?


在这里插入图片描述

从图中可以看出字节缓冲流得读取比基本得字节读取要快很多,如果要节省时间得话就可以考虑用字节缓冲流来进行字节流得读取

三、字符流

====================================================================

1.为什么会出现字符流?


在这里插入图片描述

所以他的底层操作的实质还是字节流

编码表

在这里插入图片描述

这里需要注意的是用的什么编码就必须用对应的解码,否则就会出现乱码的情况

2.字符串中的编码解码问题


小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中…(img-vSFyhqek-1710819531752)]
[外链图片转存中…(img-CSdCbjED-1710819531753)]
[外链图片转存中…(img-CSWov0on-1710819531754)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
[外链图片转存中…(img-0zxtKQmM-1710819531754)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值