我开发了一个简单的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. 执行后自行删除的jar文件
- 2. 通过bash脚本执行jar文件
- 3. 可执行Jar文件FileNotFoundException
- 4. 来自JAR的Java可执行文件
- 5. Java Eclipse可执行文件jar文件
- 6. 可执行jar文件 - hibernate.cfg文件
- 7. Java可执行文件Jar文件
- 8. Python执行文件,然后删除它
- 9. Jar文件执行
- 10. 执行jar文件
- 11. 程序如何删除自己的可执行文件
- 12. 如何删除正在执行的jar文件
- 13. 自动执行删除文件
- 14. 如何通过CMD执行可执行文件
- 15. 通过使用BAT文件执行Jar文件
- 16. 如何使用netbeans创建可执行文件.jar文件
- 17. 通过Javascript或HTML5打开本地可执行文件jar
- 18. 如何在jar文件中执行jar文件
- 19. 可执行的jar文件只能成为jar文件吗?
- 20. 如何通过cmd执行C文件
- 21. 通过文件给可运行jar文件提供输入
- 22. 通过Powershell执行文件
- 23. Java可执行文件jar文件运行不正常
- 24. 运行可执行文件.jar文件崩溃/错误
- 25. 通过命令行执行PHP中的.jar文件
- 26. 如何在gradle中执行jar文件?
- 27. 如何在TCL中执行.jar文件
- 28. 如何从JAR文件执行脚本?
- 29. sikuli:如何执行java 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