它们之间有什么区别?如何选择使用哪一种?
答案 0 :(得分:2)
File.renameTo()更改文件的名称。如果目标文件名在另一个文件系统上,它可能会复制文件的内容,但这取决于平台。
NIO的FileChannel.transferTo()方法实际上将FileChannel(例如文件)的内容(即字节)复制到另一个位置。
因此,如果您在同一文件系统上使用renameTo(),则不会读/写任何字节,只会更改目录列表中的文件名。
答案 1 :(得分:0)
Java NIO
1-在Java NIO中,您可以直接将数据从一个通道传输到另一个通道。
2-数据可以使用transferTo(..)和transferFrom(..)方法传输 java.nio.channels.FileChannel类。
3-这些方法使用文件系统的底层优化,因此在某些情况下数据传输速度很快,特别是对于大型文件。但请注意,实现是特定于文件系统的,声称此方法总是更快
是错误的档案。重命名为
Java.io.File不包含任何现成的make move文件方法,但您可以使用以下两种方法解决: 1 -File.renameTo()。 2 - 复制到新文件并删除原始文件
如果目标路径位于不同的文件系统上,则renameTo不起作用。它只会返回false