android 拷贝sqlite数据库到本地sd卡的方法

作者:袖梨 2022-06-25

sqlite小型数据库,在开发的时候用于保存数据,在这不做关于它的介绍,本文只是写出了怎么拷贝应用的数据到本地sd卡中。如:一个数据库名为dandy.db的,拷贝到本地中叫seeker.db

代码如下:

 

 代码如下复制代码

/**

 * 拷贝数据库到sd卡

 *

 * @deprecated

 */

publicstaticvoidcopyDataBaseToSD(){

     if(!Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {

   return;

 }

     File dbFile =newFile(MvpApplication.getApplication().getDatabasePath("dandy")+".db");

     File file =newFile(Environment.getExternalStorageDirectory(),"seeker.db");

      

     FileChannel inChannel =null,outChannel =null;

      

     try{

        file.createNewFile();

        inChannel =newFileInputStream(dbFile).getChannel();

        outChannel =newFileOutputStream(file).getChannel();

        inChannel.transferTo(0, inChannel.size(), outChannel);

    }catch(Exception e) {

        LogUtils.e(TAG,"copy dataBase to SD error.");

        e.printStackTrace();

    }finally{

        try{

            if(inChannel !=null) {

                inChannel.close();

                inChannel =null;

            }

            if(outChannel !=null){

                outChannel.close();

                outChannel =null;

            }

        }catch(IOException e) {

            LogUtils.e(TAG,"file close error.");

            e.printStackTrace();

        }

    }

}

 

相关文章

精彩推荐