簡體   English   中英

臨時文件不會在退出時刪除-這是為什么?

[英]Temp file won't delete on exit - why is this?

我正在嘗試在退出時刪除以下臨時文件:-“ hsperfdata_user”-“ JNativeHook-2.1.0”-“ jna-196922”

看來他們沒有刪除!

if (temp != null) {
    for (File file : temp.listFiles()) {
        if (file.getName().contains("JNative") || file.getName().contains("rar") || file.getName().contains("hsper") || file.getName().contains("jna") || file.getName().contains("dll")) {
            file.deleteOnExit();
            System.out.println(file.getName());
        }
    }
}

“重復”問題是指刪除您創建的文件-我尚未創建這些臨時文件。 文件是故意的。 它們自動創建。

在Windows上這是不可能的,因為在嘗試刪除自身時DLL仍會加載到VM中。 如果有問題,則應將文件永久解壓縮到安裝位置並設置適當的java.library.path 我想重申一下這是不可能的,因為由於技術限制,java沒有提供System.unload(...)方法來安全地從JVM中刪除該庫。

可能是這樣: https : //github.com/kwhat/jnativehook/issues/148#issuecomment-282173982

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM