我正在尝试将现有的fileSrc(即old_file.pdf)重命名为另一个名称(即new_file.pdf)。但是renameTo()方法总是返回false。我已经读过它建议首先检查原始文件是否打开(即锁定)以及目标文件是否不存在。这是我的源代码:
File fileSrc = new File("old_file.pdf");
FileOutputStream fos = null;
try {
fos = new FileOutputStream(fileSrc);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} finally {
if(fos!=null)
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
File fileDst = new File("new_file.pdf");
if(fileDst.exists()) {
fileDst.delete();
}
boolean b = fileSrc.renameTo(fileDst);
System.out.println("check : "+b);//b is always set to false
P.S。我在开发环境中使用Windows 7,在生产环境中使用UNIX Debian。