[英]Copy one database to another directory
我想将一个文件复制到另一个目录。 这些文件是数据库文件。 我有这样的东西,但我有这样的错误:
05-15 13:15:01.055: W/System.err(31247): java.io.FileNotFoundException: /mnt/sdcard/storeUGif/backup/gifs.db (No such file or directory)
我的目的地路径:
public static final String DATABASE_INPUT_BACKUP = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/storeUGif/" + SqliteHelper.DATABASE_NAME;
public static final String OUTPUT_BACKUP_DATABASE = Environment.getExternalStorageDirectory().getAbsolutePath() + "/storeUGif/backup/" + SqliteHelper.DATABASE_NAME;
这是我的代码:
private void copyDatabase() throws IOException {
File outPut = new File(Tools.OUTPUT_BACKUP_DATABASE);
File inPut = new File(Tools.DATABASE_INPUT_BACKUP);
FileInputStream is = new FileInputStream(inPut);
OutputStream os = new FileOutputStream(outPut);
byte[] buffer = new byte[1024];
while (is.read(buffer) > 0) {
os.write(buffer);
}
os.flush();
os.close();
is.close();
}
我想将文件从源文件夹复制到OUTPUT_BACKUP,但出现此错误。 怎么解决呢?
我认为是因为备份文件夹不存在。 在此处添加以下代码行:
File outPut = new File(Tools.OUTPUT_BACKUP_DATABASE);
outPut.mkdirs();
这将创建所有需要的文件夹,如果这些文件夹已经存在,则不会造成任何损害。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.