zoukankan      html  css  js  c++  java
  • android数据库操作之直接读取db文件

    在对数据库操作时,常用的有两种方法:

    1、在代码中建库、建表;
    2、直接将相关库、表建立好,将db文件拷贝至assets目录下;
     
     
    现在来看看第二种方法:
     
    private String GetDataBasePath(Context context) {
      
      String packageName = context.getPackageName();
      //Log.i("PackName", packageName);
      // String DB_PATH = String.format("/data/data/%1$s/databases/",
      // packageName);
      String DB_PATH = CommonData.baseDir + File.separator + DB_NAME;
     
      if ((new File(DB_PATH)).exists() == false) {
       try {
        // 如 SQLite 数据库文件不存在,再检查一下 database 目录是否存在
        File f = new File(DB_PATH);
        // 如 database 目录不存在,新建该目录
        if (!f.exists()) {
         f.mkdir();
        }
        // 得到 assets 目录下我们实现准备好的 SQLite 数据库作为输入流
        InputStream is = context.getAssets().open(DB_NAME);
        // 输出流
        OutputStream os = new FileOutputStream(DB_PATH);
        // 文件写入
        byte[] buffer = new byte[1024];
        int length;
        while ((length = is.read(buffer)) > 0) {
         os.write(buffer, 0, length);
        }
        // 关闭文件流
        os.flush();
        os.close();
        is.close();
       } catch (Exception e) {
        e.printStackTrace();
       }
      }
     
      return DB_PATH;
     }
  • 相关阅读:
    MariaDB日志文件、备份与恢复
    实例讲解ip地址、子网掩码、可用地址范围的计算
    Nginx配置文件、优化详解
    Centos系统的升级
    编译安装nginx
    虚拟化云计算的相关概念汇总
    ELK日志管理
    Kubernetes 监控
    用 ConfigMap 管理配置
    K8s管理机密信息
  • 原文地址:https://www.cnblogs.com/xiaochao1234/p/3764840.html
Copyright © 2011-2022 走看看