Android 将assets中的数据库写入SD卡

来源:互联网 发布:如何看待辛亥革命 知乎 编辑:程序博客网 时间:2024/05/21 17:36
private final static String DB_NAME = "test.db";private final static String DATABASE_PATH = android.os.Environment.getExternalStorageDirectory().getAbsolutePath() + "/Test";//将数据库文件写入到SD卡public static void setDatabaseToSdcard(Context con) {// 判断是否存在sd卡boolean sdExist = android.os.Environment.MEDIA_MOUNTED.equals(android.os.Environment.getExternalStorageState());if (!sdExist) {
Log.e("SD卡管理:", "SD卡不存在,请加载SD卡");} else {// 数据库所在目录String dbPath = DATABASE_PATH + "/" + DB_NAME;File dirFile = new File(DATABASE_PATH);if (!dirFile.exists()) {dirFile.mkdirs();}File dbFile = new File(dbPath);if (!dbFile.exists()) {try {InputStream open = con.getAssets().open(DB_NAME);FileOutputStream fileOutputStream = new FileOutputStream(dbPath);byte[] buffer = new byte[1024];int count = 0;while ((count = open.read(buffer)) > 0) {fileOutputStream.write(buffer, 0, count);}fileOutputStream.flush();fileOutputStream.close();open.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }}

0 0