我用JAVA NIO 来复制文件,但没有发现和传统的流的方式来 *** 作有明显的优势,为什么呢?

我用JAVA NIO 来复制文件,但没有发现和传统的流的方式来 *** 作有明显的优势,为什么呢?,第1张

好好读读Thinking in java文档,从1.5开始,Java对InputStream/茄侍举OutputStream 进行了重新颤碧改写,用的就是NIO,因此,就算你不显示声明要用NIO,只要你的类继承了InputStream/OutputStream就已经在用NIO了,不信的话这样做

FileChannel channel=new FileInputStream.getChannel()

如果XXStream不用NIO构造,谈孝如何返回一个Channel的对象?

Java NIO的创建目的是为了让Java程序员可以实现高速I/O而无需编写自定义的本机代码。Java NIO的高效得益于其两闭春大"助手":Channel和Buffer。NIO将最轿者耐耗时的I/O *** 作(即填充和嫌喊提取缓冲区)转移回 *** 作系统,因而可以极大地提高速度。

io,也称old io,读取文件主要通前芦过流,从磁盘上一个一个字符的读,效率比较低下。 nio,在对文件 *** 作下改进了方式,通过块读取,一整块一整块的读取,所慧绝带以读宏纯取出来的不会是一个字符,而是一个块,把这些数据放到内存缓冲区内。在进行 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12128525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存