小编典典

用Java复制文件的标准简洁方法?

all

一直困扰着我的是,在 Java
中复制文件的唯一方法是打开流、声明缓冲区、读入一个文件、循环通过它,然后将其写入另一个流。网络上充斥着类似但仍然略有不同的此类解决方案的实现。

有没有更好的方法可以保持在 Java
语言的范围内(意味着不涉及执行操作系统特定的命令)?也许在一些可靠的开源实用程序包中,这至少会掩盖这个底层实现并提供一个单一的解决方案?


阅读 79

收藏
2022-03-21

共1个答案

小编典典

正如上面提到的工具包,Apache Commons IO
是要走的路,特别是FileUtils复制文件();它为您处理所有繁重的工作。

作为后记,请注意最近的 FileUtils 版本(例如 2.0.1 版本)添加了使用 NIO 来复制文件;NIO
可以显着提高文件复制性能
,这在很大程度上是因为 NIO
例程将复制直接推迟到 OS/文件系统,而不是通过 Java 层读取和写入字节来处理它。因此,如果您正在寻找性能,可能值得检查您使用的是最新版本的
FileUtils。

2022-03-21