华为面试官问: 大文件怎么读取?
考点是NIO技术
Java有一套完备的I/O类, 但处理大文件的时候, 效率很低。所以Java在JDK1.4中引入了NIO, 可以最大限度满足Java程序I/O的需求。
传统的IO面向流, 每次可以从流中读取一个或多个字节, 只能向后读取, 不能向前移动。比如控制台输入获取, BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
如果是大文件的话, 更快的方式是使用MappedBytedBuffer(ByteBuffer的子类), 它是NIO引入的文件内存映射方案, 读写性能极高。
#华为OD面试#
滴滴公司福利 1784人发布