Java中的输入输出IO流的常见相关面试题目

Java中的输入输出IO流的常见相关面试题目
1、java中的IO流可以划分几种类型
按照流的方向划分,可分为输入和输出流;
按照流的单元划分,可分为字节和字符流;
按照流的角色划分,可分为节点流和处理流,节点流即通过节点的单位量的集合,处理流即对已封装好的流进行调用处理的过程;
Java中的IO流共40多个类,其主要由InputStream/Reader、OutputStream/Write这4个抽象类基类派生出来。

2、BIO、NIO、AIO三者之间的区别
BIO(Blocking IO):即同步阻塞IO模式,数据在读写操作时,需要一个个的线程执行完成后,才能操作下步工作,所以并发能力比较低,该方式适合线程池比较少的场景;
NIO(Non IO):即同步非阻塞IO模式,该方式采用通道(Channel)模式将服务端和客户端建立连接,实现多路服用,不仅支持阻塞和非阻塞;
AIO(Async IO):即异步非阻塞IO模式,数据在执行完成后,不会像NIO等待同一过程的下步流程,它会直接完成下步线程,不会堵塞。

3、Files有哪些常用的方法
Files.exists():查看文件路径是否存在
Files.read():读取文件
Files.write():写入文件
Files.createFile():创建文件
Files.delete():删除文件
Files.copy():拷贝文件
Files.move():移动文件

4、java中常用的节点流和处理流有哪些
节点流:文件节点流;字符串节点流;数组节点流;管道节点流
处理流:缓冲流即增加对数据进行缓冲读写的操作;转换流即字节流和字符串流之间的转换;数据流即对数据进行读写操作的类型。

5、数据流关闭的流程是怎么实现的
数据流的操作顺序正常情况下,先打开的数据流后关闭,后打开的数据流先关闭;特殊情况:如数据流a依赖数据流b,那就先关闭流a,在关闭流b;还有一种就是关闭处理流,就等于关闭了节点流,因为处理流绝大多数会调用节点流关闭的任务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员小蛋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值