Android 将数据库文件保存至sdcard中

Android 将数据库文件保存至sdcard中,实现工具类:java

import android.content.Context;
import android.os.Environment;
import android.util.Log;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * Created by SRain on 2015/4/28.
 * <p/>
 * 将数据库拷贝到SDCard中指定位置
 */
public class CopyDBToSDCard {

    //TODO 文件路径选择改为本项目中文件读取方式
    public static boolean CopyDB(Context context) {
        boolean isSus = false;
        File dbFile = context.getDatabasePath(StaticCode.DB_NAME);

        InputStream myInput;
        try {
            myInput = new FileInputStream(dbFile);

            String filePath = ZipTool.getPath(context, "DB");

            Log.e("filePath", filePath);

            if (filePath == null || filePath.equals("")) {
                Log.e("isSus", "未获取到文件保存路径");
                return isSus;
            }

            OutputStream myOutput = new FileOutputStream(filePath + "/" + StaticCode.DB_NAME);

            byte[] buffer = new byte[1024];
            int length;
            while ((length = myInput.read(buffer)) > 0) {
                myOutput.write(buffer, 0, length);
            }

            myOutput.flush();
            myOutput.close();
            myInput.close();
            isSus = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return isSus;
    }
}
相关文章
相关标签/搜索