首页 > 移动开发 > 将android程序中的数据库导出到SD卡

将android程序中的数据库导出到SD卡

  1. private void copyDBToSDcrad()  
  2. {  
  3.     String DATABASE_NAME = "数据库文件名称";  
  4.       
  5.     String oldPath = "data/data/com.packagename/databases/" + DATABASE_NAME;  
  6.     String newPath = Environment.getExternalStorageDirectory() + File.separator + DATABASE_NAME;  
  7.       
  8.     copyFile(oldPath, newPath);  
  9. }  
  10.   
  11. /** 
  12.  * 复制单个文件 
  13.  *  
  14.  * @param oldPath 
  15.  *            String 原文件路径 
  16.  * @param newPath 
  17.  *            String 复制后路径 
  18.  * @return boolean 
  19.  */  
  20. public static void copyFile(String oldPath, String newPath)  
  21. {  
  22.     try  
  23.     {  
  24.         int bytesum = 0;  
  25.         int byteread = 0;  
  26.         File oldfile = new File(oldPath);  
  27.         File newfile = new File(newPath);  
  28.         if (!newfile.exists())  
  29.         {  
  30.             newfile.createNewFile();  
  31.         }  
  32.         if (oldfile.exists())  
  33.         { // 文件存在时  
  34.             InputStream inStream = new FileInputStream(oldPath); // 读入原文件  
  35.             FileOutputStream fs = new FileOutputStream(newPath);  
  36.             byte[] buffer = new byte[1444];  
  37.             while ((byteread = inStream.read(buffer)) != -1)  
  38.             {  
  39.                 bytesum += byteread; // 字节数 文件大小  
  40.                 fs.write(buffer, 0, byteread);  
  41.             }  
  42.             inStream.close();  
  43.         }  
  44.     }  
  45.     catch (Exception e)  
  46.     {  
  47.         System.out.println("复制单个文件操作出错");  
  48.         e.printStackTrace();  
  49.   
  50.     }  
  51.   
  52. }  

本文固定链接: http://www.devba.com/index.php/archives/5934.html | 开发吧

报歉!评论已关闭.