我在 Windows 上有三个目录 A、B 和 C。我有一个文件存在于目录 A 中。我想要执行以下任务
步骤 1、2、3 工作正常,但不适用于步骤 4。文件存在并且可以写入、读取、执行。当我打开Windows资源管理器并尝试手动删除目录B中的文件时,它说该操作无法完成,因为它是在java平台SE二进制文件中打开的。下面是我复制文件的代码
FileInputStream in = new FileInputStream(source);
FileOutputStream out = new FileOutputStream(dest);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
Run Code Online (Sandbox Code Playgroud)
我正在使用 Java 6。你知道我如何完成步骤 4 吗?
为什么不使用像 Apache Commons IO (FileUtils) 这样的库?
http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html
File a = new File("A/file.txt");
File b = new File("B/file.txt");
File c = new File("C/file.txt");
FileUtils.copyFile(a, b);
a.delete();
FileUtils.copyFile(b, c);
b.delete();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22406 次 |
| 最近记录: |