IO 面试题

2/8/2022 面试题JavaIO

心灵鸡汤

人生,没有永远的伤痛,再深的痛,在切之时,伤口总会痊愈。人生,没有过不去的坎,你不可以坐在坎边等它消失,你只能想办法穿过它。人生,没有永远的爱情,没有结局的感情,总要结束;不能拥有的人,总会忘记

# 一:Java中IO流分几种?

  • 按功能来分:输入流(input)、输出流(output)

  • 按类型来分:字节流和字符流

字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符为单位输入输出数据

# 二:BIO、NIO、AIO区别

  • BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理能力低;
  • NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用;
  • AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。

# 三:Files常用方法

File 是在 java.io 路径下; Files 是在 java.nio.file 路径下;

  • static boolean exists(Path path, LinkOption... options):检测文件路径是否存在;
  • static Path createFile(Path path, FileAttribute<?>... attrs) throws IOException:创建文件;
  • static Path createDirectory(Path dir, FileAttribute<?>... attrs):创建文件夹;
  • static void delete(Path path) throws IOException:删除一个文件或目录;
  • static Path copy(Path source, Path target, CopyOption... options):复制文件;
  • static Path move(Path source, Path target, CopyOption... options) throws IOException:移动文件;
  • static long size(Path path) throws IOException:查看文件个数;
  • byte[] readAllBytes(Path path):读取文件;
  • static Path write(xxx):写入文件。

# 四:文章来源

最后更新: 10/19/2022, 12:31:23 AM