我在 Windows 上有三个目录 A、B 和 C。我有一个存在于目录 A 中的文件。我想做以下任务
- 复制到目录B
- 从目录 A 中删除它(由于该文件没有被任何进程持有,因此可以正常工作)
- 复制到C目录
- 从目录 B 中删除它(不工作)
步骤 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();
我正在使用 Java 6。你知道如何完成第 4 步吗?