尽管源文件已关闭,但文件重命名始终失败

时间:2017-11-06 14:11:53

标签: java file

我正在尝试将现有的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。

0 个答案:

没有答案