2016-05-30 20 views
0

Ich verwende eine SQLite Datenbank und ich möchte eine .db Datei aus einem virtuellen Dateisystem Jimfs öffnen. Verwendung des folgenden Codes kann ich eine Datei in das virtuelle Dateisystem importieren:SQLite + Virtuelles Dateisystem?

String databaseFilePath = "..."; 
Configuration configuration = Configuration.unix(); 
FileSystem fileSystem = Jimfs.newFileSystem(configuration); 
Path targetDirectory = fileSystem.getPath("/"); 
Files.copy(Paths.get(databaseFilePath), targetDirectory); 

Als nächstes, wenn ich versuche, die Datenbank-Datei zu öffnen, ich renne Probleme:

Connection connection = DriverManager.getConnection("jdbc:sqlite:" + databaseFileName); 

ich nicht verwenden können, String s, da die virtuelle Datei nur mit dem Objekt Path referenziert werden kann. Wie öffne ich eine Datenbankverbindung mit Path s?

Antwort

1

SQLite arbeitet mit 'echten' Dateien.

Um Daten an anderer Stelle speichern zu können, müssen Sie Ihre eigene SQLite VFS implementieren. (Dies wird nicht von jedem JDBC-Treiber unterstützt.)