繁体   English   中英

将一个数据库复制到另一个目录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM