1 回答

TA貢獻1853條經驗 獲得超9個贊
因此,您有一個預制的 Access 數據庫文件作為項目中的資源。您可以使用 JackcessClass#getResourceAsStream打開該數據庫的內存副本,方法是首先使用打開資源...
final String dbResourcePath = "/embedded.accdb";
@SuppressWarnings("rawtypes")
Class thisClass = JackcessTestMain.class; // my "main" class
InputStream dbResourceStream = null;
// for running from executable jar
dbResourceStream = thisClass.getResourceAsStream("/resources" + dbResourcePath);
if (dbResourceStream == null) {
// for running inside the Eclipse IDE
dbResourceStream = thisClass.getResourceAsStream(dbResourcePath);
}
...將其傳遞InputStream給 Jackcess MemFileChannel...
MemFileChannel mfc = MemFileChannel.newChannel(dbResourceStream);
...然后使用從頻道DatabaseBuilder打開Database:
Database db = new DatabaseBuilder().setChannel(mfc).open()
完成對數據庫內存副本的更改后,您可以將通道的內容發送到 OutputStream。例如,
db.close();
FileOutputStream fos = new FileOutputStream("C:/Users/Public/zzz.accdb");
mfc.transferTo(fos);
fos.close();
添加回答
舉報