我在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。你知道我如何完成第四步吗?