我實現,節省了SQLite數據庫文件的多個版本的解決方案在稍後時間訪問一個文件。每次保存數據庫時都會保存一個不同的文件名,我添加日期時間來改變它。這工作得很好,我能夠保存不同的時間戳SQLite數據庫的多個版本是這樣的:如何使用保存的路徑,在文件
/storage/emulated/0/AppName/Backups/auto_backup_2016_Feb_26_07_09
現在我想的是這個路徑保存到數據庫或SharedPreference並在需要時我希望能夠恢復。爲了能夠恢復文件,首先我需要再次訪問該文件,所以我試圖使用保存的文件路徑再次訪問或重新創建文件。
我嘗試使用getAbsolutePath並沒有工作,現在我想URI。下面是我如何保存文件
File backupDatabaseFile = new File(backupFolder,
Constants.AUTO_BACKUP + "_" + TimeUtils.getDatetimeSuffix(System.currentTimeMillis()));
Uri uri = Uri.fromFile(backupDatabaseFile);
backupItem.setFilePath(uri.toString());
,這裏是我如何試圖重現保存的文件,所以我可以恢復它:
Uri uri = Uri.parse(backupItem.getFilePath);
File backedUpFile = new File(uri.getPath());
這裏是它失敗
if (backedUpFile.exists()) {
//do something
}
那麼我怎樣才能將路徑保存到文件中,然後使用此路徑重新創建或稍後訪問同一文件。
您可以添加失敗時引發的異常嗎?奇怪的是,它在存在方法上失敗。這可以解釋它的唯一的事情就是backedUpFile爲空,這意味着新的文件並沒有執行 –