在Windows上的Java 6中,我有兴趣执行以下任务,但我真的不确定如何去做。
我知道这听起来很奇怪,但实际上通过这种方式实现会更有效率,所以如果可能的话,那就知道了。
答案 0 :(得分:0)
听起来很难,而且肯定需要很多纯Java无法完成的东西。
在Linux上,我认为您需要执行以下操作:
创建并安装“tmpfs” - https://unix.stackexchange.com/questions/66329/creating-a-ram-disk-on-linux
将ZIP文件解压缩到tmpfs
使用ProcessBuilder运行.exe ...允许您设置子进程的当前目录。
诸如此类
完成后卸载“tmpfs”。
用于创建“ram disk”文件系统的命令将是特定于操作系统的,并且可能需要root / administrator特权。
目前还不清楚这样做是否比在文件系统中使用临时目录更有效。我不会尝试这种做法,除非明确表明需要一种更有效的解决方案;即使您尝试使用临时目录并发现它太慢了。
请记住:
解压ZIP文件的大部分(也许是大部分)工作必须以你做到的方式完成,并且
在传统情况下,您的.exe将可能从OS'es内存中的磁盘块缓存(在Linux上)读取扩展ZIP中的文件。