使用java如何将文件从一个目录移动到另一个目录?我应该只使用streamReader将字节复制到目标目录,然后删除原始文件吗?
答案 0 :(得分:2)
尝试File.renameTo
操作。尽管它的名字,它也可能用于移动文件。但是,请注意,正如文档所述,其行为将取决于您运行的平台。
示例:
File oldFile = ...;
File newDirectory = ...;
String newName = ...;
File newFile = new File(newDirectory, newName);
oldName.renameTo(newFile);
答案 1 :(得分:2)
这听起来不对。如果您确实移动文件(而不是复制),那么您应该使用某种更便宜的重命名方法。 (File.renameTo())似乎是推荐的方法)。
[编辑]大多数(甚至是所有)操作系统中的移动操作比完整复制和删除便宜得多。它相当于在一个目录中删除文件的条目并将其添加到不同的目录(或在同一目录中的不同名称下)。此操作无需触摸文件中的实际数据。
答案 2 :(得分:1)
或者您可以使用Java NIO:
答案 3 :(得分:0)
我建议您使用FileUtils
中的org.apache.common
类。文档here。
答案 4 :(得分:0)
您可以使用类似apache commons IO utilities的东西,而不是自己动手。
您只需拨打FileUtils.copyFile
详情请见此处 http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html
答案 5 :(得分:0)
尝试copyFile API中FileUtils类的Apache commons-IO方法。
它已经过测试了!
答案 6 :(得分:0)
你可以做一个文件renameTo并给它作为参数的文件的新位置。
答案 7 :(得分:0)
首先尝试File.renameTo()
做一个真正的举动。如果失败,请执行真正的复制/删除。除此之外:InputStream
和OutputStream
是执行复制的最基本方式。但如果您不想重新发明轮子,可以使用FileUtis完全按照我的描述进行操作。