Java NIO transferTo与Java文件renameTo

时间:2013-08-06 03:58:00

标签: java nio

它们之间有什么区别?如何选择使用哪一种?

2 个答案:

答案 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