Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NIO transferTo与Java文件重命名To_Java_Nio - Fatal编程技术网

Java NIO transferTo与Java文件重命名To

Java NIO transferTo与Java文件重命名To,java,nio,Java,Nio,它们之间有什么区别?如何选择使用哪一个?文件。重命名()更改文件名。如果目标文件名位于另一个文件系统上,它可能会复制文件的内容,但这取决于平台 NIO的FileChannel.transferTo()方法实际上将FileChannel(例如文件)的内容(即字节)复制到另一个位置 因此,如果您在同一文件系统上使用renameTo(),则不会读/写任何字节,只会更改目录列表中的文件名。Java NIO 1-在Java NIO中,您可以直接将数据从一个通道传输到另一个通道 2-可以使用的transfe

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

文件。重命名()更改文件名。如果目标文件名位于另一个文件系统上,它可能会复制文件的内容,但这取决于平台

NIO的FileChannel.transferTo()方法实际上将FileChannel(例如文件)的内容(即字节)复制到另一个位置


因此,如果您在同一文件系统上使用renameTo(),则不会读/写任何字节,只会更改目录列表中的文件名。

Java NIO

1-在Java NIO中,您可以直接将数据从一个通道传输到另一个通道

2-可以使用的transferTo(..)和transferFrom(..)方法传输数据 java.nio.channels.FileChannel类

3-这些方法使用了文件系统的底层优化,因此在某些情况下,数据传输可以很快,特别是对于大型文件。但是,请注意,该实现是特定于文件系统的,如果声称此方法总是更快,则是错误的

文件。重命名为

Java.io.File不包含任何ready make move File方法,但您可以使用以下两种替代方法: 1-File.renameTo()。2-复制到新文件并删除原始文件


如果目标路径位于不同的文件系统上,则重命名不起作用。它只会返回false,与在任何文件系统中移动与复制相同。没有什么是Java特有的。你需要知道是要复制文件(保留原始文件),还是要重命名文件(更改原始文件的位置)。