在我的Java应用程序中,我创建了一些线程,在其中使用包在BufferedInputStream和BufferedOutputStream中的FileOutputStream和FileInputStream复制大文件。复制文件后,我尝试为缓冲的输入/输出流调用close(),但这在ubuntu上需要几分钟。在OSX上运行时,流会立即关闭。有没有办法加快这个过程?

最佳答案

在Linux上,close()尝试将数据提交到磁盘。如果你有一个ssd(快了1000倍),这会快得多,如果你有一个旋转的磁盘,你可以每秒写40个文件(即使很小),如果你有一个ssd,这在笔记本电脑上大约是每秒20000个。

关于java - 如何提高FileOutputStream和FileOutputStream close()的速度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31619291/

10-12 03:51