我有一个数据库,我想备份并恢复它。我使用此代码备份我的数据库:
// Method To Backup Database//
public void OnClick_Backup(View v) {
// Vibrates For 50 Mill//
vibe.vibrate(50);
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (sd.canWrite()) {
String currentDBPath = "//data//jordanzimmittidevelopers.com.communityservicelogger//databases//community_service_Database";
String backupDBPath = "Community Service Database";
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath);
if (currentDB.exists()) {
FileChannel src = new FileInputStream(currentDB).getChannel();
FileChannel dst = new FileOutputStream(backupDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
Toast.makeText(getApplicationContext(), "Backup is successful to SD card", Toast.LENGTH_SHORT).show();
}
}
} catch (Exception ignored) {
}
}
它可以很好地备份数据库,但将其保存到内部的根目录 SD卡。如何将数据库保存到内部SD卡上的aoo创建的新文件夹中。感谢
答案 0 :(得分:1)
使用以下代码,
File sd = new File(Environment.getExternalStorageDirectory()+"/newFolder");
if(!sd.exists()){
sd.mkdirs()
}
代码是创建新文件夹(如果不存在)。然后复制数据库。