在Windows上的Java 6中,我有興趣執行以下任務,但真的不知道如何去做。如何從內存/ RAM運行進程作爲「當前工作目錄」
- 我想帶一個zip文件
- 解壓其內容爲點在 內存/ RAM
- 創建將運行ZIP文件中存在的一個.EXE文件一個Java進程
- 該.EXE必須運行,而當前的工作目錄是在RAM中的位置
- 然後,我需要將另一個文件放入RAM中同一個「當前工作目錄」位置空間。
我知道這聽起來很奇怪,但它會通過這種方式實際上使效率更高效,所以如果可能的話,這將是很好的瞭解。
在Windows上的Java 6中,我有興趣執行以下任務,但真的不知道如何去做。如何從內存/ RAM運行進程作爲「當前工作目錄」
我知道這聽起來很奇怪,但它會通過這種方式實際上使效率更高效,所以如果可能的話,這將是很好的瞭解。
這聽起來很困難,而且肯定會需要很多不能用純Java完成的東西。
在Linux上,我想你需要做到以下幾點:
創建和掛載 「tmpfs的」 - https://unix.stackexchange.com/questions/66329/creating-a-ram-disk-on-linux
解壓ZIP文件到tmpfs的
使用ProcessBuilder運行.exe,它允許您設置子進程當前目錄。
諸如此類
卸載的 「tmpfs的」 當你做了。
用於創建「RAM盤」文件系統將OS特定的命令,並且可能需要根/管理員權限。
目前還不清楚這樣做是否比在文件系統中使用臨時目錄更有效。除非明確表明需要更高效的解決方案,否則我不會嘗試這種方法;即除非您嘗試使用臨時目錄並發現它太慢。
記住熊說:
很多(也許是大多數)解壓ZIP文件的工作也要做你做的任何一種方式,和
您.exe將可能正在從擴展的ZIP中讀取操作系統的內存磁盤塊緩存(在Linux上)中的文件。
創建RAM磁盤 – MadProgrammer