繁体   English   中英

Java:在目录之间复制文件

[英]Java: copy files between directories

使用Java如何将文件从一个目录移动到另一个目录? 我应该只使用streamReader将字节复制到目标目录,然后删除原始文件吗?

尝试File.renameTo操作。 尽管它的名字,它也可以用来移动文件。 但是,请注意,如文档所述,其行为将取决于您所运行的平台。

例:

File oldFile = ...;
File newDirectory = ...;
String newName = ...;
File newFile = new File(newDirectory, newName);

oldName.renameTo(newFile);

听起来不对。 如果确实要移动文件(而不是复制文件),则应该使用便宜得多的某种重命名方法。 (File.renameTo()似乎是推荐的方法)。

[编辑]在大多数(也许甚至是所有)操作系统中,移动操作比完整复制和删除便宜得多。 等同于删除一个目录中文件的条目,然后将其添加到其他目录中(或在同一目录中使用其他名称)。 无需触摸文件中的实际数据即可执行此操作。

我建议您使用org.apache.commonFileUtils类。 文档在这里

不用自己动手,可以使用apache commons IO实用程序之类的东西。

在这里您可以只调用FileUtils.copyFile

详情请参阅这里http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html

尝试的CopyFile的方法fileutils中从类的Apache公地IO API。

已为您测试!

您可以执行一个文件namedTo并将其文件的新位置作为参数。

看这里

首先尝试File.renameTo()进行实际移动。 如果失败,请进行真实的复制/删除。 除此之外: InputStreamOutputStream是执行复制的最基本方法。 但是,如果您不想重新发明轮子,可以使用FileUtis完全按照我的描述进行操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM