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;还有一种就是关闭处理流,就等于关闭了节点流,因为处理流绝大多数会调用节点流关闭的任务。
|