簡體   English   中英

如何在內存中創建目錄? 偽文件系統/虛擬目錄

[英]How to create a directory in memory? pseudo file system / virtual directory

對於我的用例,我想在內存目錄中存儲一些文件很短的時間。 實際上我在運行時將源代碼編譯為.class文件,類加載並執行它們。 干凈的方法是創建一個虛擬目錄,讓編譯器在那里創建.class文件。 當然我可以使用臨時目錄,但是我必須在編譯前清理它,我不知道我是否是唯一使用它的人,等等。

那么,是什么以及如何在內存的意義上創建一個虛擬的Java目錄呢?

在Java 6中,實際上不可能在Java應用程序中執行此類操作。 您需要依靠OS平台來提供偽文件系統。

在Java 7中,NIO API已經擴展為提供允許您定義新文件系統的API; 請參閱FileSystemProvider

Apache Commons VFS是另一種選擇,但它有一些特性可能會導致現有代碼和(第三方)庫出現問題:

  • VFS中的文件和目錄使用URL命名,而不是使用File對象命名。 因此,使用File進行文件操作的代碼將不起作用。

  • 由於同樣的原因, FileInputStreamFileOutputStreamFileReaderFileWriter不能與VFS一起使用。

聽起來你可以使用ramdisk。 有很多應用程序會執行此操作,您使用的將取決於目標操作系統。 我不知道任何支持它的本 Java API。

我不確定這是否有用,但請檢查Apache Commons VFS

看來你需要的是內存文件系統。

暫無
暫無

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

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