我開發了一個簡單的java應用程序,是否有可能爲應用程序(可執行Jar文件)找到其當前路徑,並在一定時間後從當前位置和回收站中刪除它。如何通過它自行刪除可執行文件JAR文件?
1
A
回答
2
不,當java運行庫啓動並使用這個jar文件時,windows會阻止它被刪除。在Linux等其他操作系統中,即使使用文件,也可以刪除文件。
+2
這就是訣竅。當JVM使用它時,你不能刪除這個jar,但你可以做的是啓動另一個JVM(例如運行updater),並允許原始的JVM退出,釋放原始jar。 – MadProgrammer 2015-02-09 21:01:52
0
已經有問題/答案告訴你如何獲取當前運行的jar文件。請記住,這些方法並不一致跨平臺:
How to get the path of a running JAR file?
刪除Java中的文件是相當簡單的,以及:
import java.io.File;
...
new File("c:\\path\\to\\whatever.jar").delete();
上的操作系統不具備文件鎖定,你可以簡單地刪除你正在運行的jar,因爲它已經加載到內存中。在鎖定文件的操作系統上,如果JVM決定鎖定當前正在執行的jar,則可能無法執行此操作。
0
0
爲了刪除jar文件,我推薦:
- 創建一個bat/sh的文件
- 運行該文件
- 關閉jar文件與
System.exit
方法
在蝙蝠/ sh的文件:
- 循環直到成功刪除
- 刪除本身內的bat/sh文件(不像jar文件bat/sh文件可以刪除本身)
相關問題
- 1. 通過bash腳本執行jar文件
- 2. 可執行Jar文件FileNotFoundException
- 3. 來自JAR的Java可執行文件
- 4. 可執行jar文件 - hibernate.cfg文件
- 5. Java可執行文件Jar文件
- 6. Java Eclipse可執行文件jar文件
- 7. Python執行文件,然後刪除它
- 8. 執行jar文件
- 9. 程序如何刪除自己的可執行文件
- 10. 自動執行刪除文件
- 11. 如何使用netbeans創建可執行文件.jar文件
- 12. 通過Javascript或HTML5打開本地可執行文件jar
- 13. 如何在jar文件中執行jar文件
- 14. 如何通過cmd執行C文件
- 15. 通過文件給可運行jar文件提供輸入
- 16. 通過Powershell執行文件
- 17. 運行可執行文件.jar文件崩潰/錯誤
- 18. 通過命令行執行PHP中的.jar文件
- 19. 如何在gradle中執行jar文件?
- 20. sikuli:如何執行java jar文件
- 21. junit的可執行jar文件
- 22. 包括FXML文件,可執行的JAR
- 23. 幫助與可執行的JAR文件
- 24. BeanDefinitionParsingException在可執行的JAR文件
- 25. NetBeans和可執行JAR文件
- 26. eclipselink可執行文件中的PersistenceUnitLoadingEception JAR
- 27. 修改執行Jar文件
- 28. 雙擊執行.jar文件
- 29. Jar文件執行問題?
- 30. Jar文件沒有執行
需要寫另一個jar來刪除該jar ...通常,如果你正在編寫病毒,你會這樣做以防止人們找到你的曲目,因爲一個程序刪除一個文件爲罪名。大多數時間在Windows中我們使用Windows安裝服務來處理這種卸載... – 2015-02-09 20:39:53
@JohnVint我不知道他的意圖是什麼,他可能會嘗試自動更新他的應用程序。在這種情況下,他應該知道如何正確地做到這一點。 – 2015-02-09 20:41:39
它不是病毒 – james 2015-02-09 20:43:23