gpt4 book ai didi

java - 尝试将 SQLite 数据库保存到 SD 卡

转载 作者:行者123 更新时间:2023-12-01 15:02:17 25 4
gpt4 key购买 nike

Possible Duplicate:
Moving my db to sd card not working

我正在尝试将 sqlite 文件保存到我的 SD 卡上。我正在使用此 question 中的代码

 try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();

if (sd.canWrite()) {
String currentDBPath = "\\data\\com.test.mytest\\databases\\test_db";
String backupDBPath = "test_db";
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();
}
}
} catch (Exception e) {
}

这是一个评价很高的答案,所以我认为它应该工作得非常简单。我在 logcat 中没有收到任何错误。我没有看到任何创建的目录/创建的文件。我的 list 中也有“写入外部”权限。

最佳答案

文件 sd = Environment.getExternalStorageDirectory(); 文件数据=Environment.getDataDirectory();

         if (sd.canWrite()) {
String currentDBPath = "/data/packagename/databases/DATABASENAME";
String backupDBPath = "/backup/"+"main.db";
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();
} else {
Log.e(TAG, "File does not exist: " + currentDBPath);
}

关于java - 尝试将 SQLite 数据库保存到 SD 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com