它不能這樣做。也許Java支持某種機制來創建某種形式的虛擬文件,這種虛擬文件在本地(作爲當前進程)呈現爲某種物理文件。
我可以想出一種解決限制的方法,但在您的上下文中這可能不可行或不可接受。您可以更改的服務來回報數據庫的轉儲和裝載,在接收器的內存數據庫:
這裏是產生垃圾的方式:
# sqlite3
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table foo (i text);
sqlite> insert into foo values ('a');
sqlite> insert into foo values ('b');
sqlite> .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE foo (i text);
INSERT INTO foo VALUES('a');
INSERT INTO foo VALUES('b');
COMMIT;
我不認爲SQLite的API支持打開某種內存塊 - > http://sqlite.org/c3ref/open.html - 也許如果你在內存中創建了一些文件系統,但是我建議你把流保存到一個文件中,然後使用它。 – zapl
也許使用像「jimfs」這樣的虛擬文件系統? – Joel