无法删除Windows 10 JVM锁定的文件

时间:2019-05-07 08:51:16

标签: actionscript-3 windows-10 apache-commons java.nio.file

我正在创建一个zip文件供浏览器下载,如果存在一个同名的旧文件,则必须删除它以使数据不旧。但这在Windows 10中不会发生,jvm仍然保留旧文件。如果我删除了它,则会得到以前的zip文件。

File.delete,apache commons强制删除或java.nio给出异常

UI操作脚本调用:

<mx:Script><![CDATA[
public function handleResult(event:Object):void 
{
    var url:String = event.result as String;
    ShellModel.instance.download(url);
    NavUtils.closeWizard();
}
]]></mx:Script>

public function download(url:String):void 
{
    if( ExternalInterface.available && (StringUtilities.endsWith(url, "csv") || StringUtilities.endsWith(url, "zip"))) 
    { 
        ExternalInterface.call( "downloadFileFromAS", url);
    } 
    else 
    {
        //
    }
}

index.html:

function downloadFileFromAS( _fileURL ) 
{
    window.location.href=_fileURL;
//??? no closing } bracket  

java代码:

File exportZip = new File(filepath, filename+ ".zip");
if (exportZip.exists()) 
{
    cleanImportDirectory(exportZip.getAbsolutePath()); // exception 
    call ///????
}

创建zip文件:

将zipurl返回到浏览器;

public void cleanImportDirectory(String zipFilePath) 
{
    try {
            java.nio.file.Files.deleteIfExists(Paths.get(zipFilePath)); //  exception occurs
        }
} 

catch (IOException e) 
{ log.error("Could not delete imported files at : " + zipFilePath, e); }


    }
}

java.nio.file.FileSystemException::该进程无法访问文件,因为 它正在被另一个进程使用。上次jvm仍然保留旧文件时发生了什么。上一次锁定时发生了什么

在linux上,我没有出现任何文件删除错误,每次都在zip文件中连续获取新数据

0 个答案:

没有答案