android eclipse 将项目中assets文件夹下的数据库文件存储到data/data/包名/databases下

android eclipse 将项目中assets文件夹下的数据库文件存储到data/data/包名/databases下:

public SQLiteDatabase openDatabase()
    {
        String pathFile = "data/data/com.example/databases/clearpath.db";//数据库存储路径;         
        String pathMdkir = "data/data/com.example/databases";//数据库存储文件夹;            
        File path = new File(pathFile);
        //判断文件是否已经生成,如果存在就直接返回数据;
        if(path.exists())
        {
            SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase(path, null);
            return db;
        }
        else
        {
            File path1 = new File(pathMdkir);
            if(path1.mkdir())
            {
                System.out.println("创建成功");
            }
            else
            {
                System.out.println("创建失败");
            }
        }
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        try {
            bis = new BufferedInputStream(context.getAssets().open("clearpath.db"));
            bos = new BufferedOutputStream(new FileOutputStream(pathFile));
            int len;
            byte[] b = new byte[1024];
            while((len = bis.read(b)) != -1)
            {
                bos.write(b, 0, len);
                bos.flush();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally
        {
            if(bis != null)
            {
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(bos != null)
            {
                try {
                    bos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return openDatabase();
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity,可以使用`System.IO`命名空间下的`File`类来操作文件,包括在Android环境下加载StreamingAssets文件夹的txt文件。但需要注意的是,直接使用`File`类在Android平台上加载StreamingAssets文件夹文件可能会导致路径问题。 在Android平台上,StreamingAssets文件夹文件会被打包到APK,并且无法直接使用`File`类的路径来访问。为了解决这个问题,你可以使用Unity的`Application.streamingAssetsPath`属性来获取StreamingAssets文件夹的路径,并结合`UnityWebRequest`类来加载文件。下面是一个示例代码: ```csharp using UnityEngine; using UnityEngine.Networking; using System.IO; public class LoadTxtFile : MonoBehaviour { public string fileName; // txt文件名 IEnumerator Start() { // 构建txt文件的完整路径 string filePath = Path.Combine(Application.streamingAssetsPath, fileName); UnityWebRequest www = UnityWebRequest.Get(filePath); #if UNITY_ANDROID && !UNITY_EDITOR // 在Android平台上使用UnityWebRequest来加载文件 www.url = filePath; #endif yield return www.SendWebRequest(); if (www.result == UnityWebRequest.Result.Success) { // 获取txt文件内容 string txtContent = www.downloadHandler.text; Debug.Log(txtContent); } else { Debug.Log("Failed to load txt file: " + www.error); } } } ``` 上述代码,我们使用了`Path.Combine`方法来构建txt文件的完整路径,确保路径的正确性。然后,我们使用`UnityWebRequest`类来加载文件内容,并通过`downloadHandler.text`属性获取文件内容。 这样,你就可以在Android环境下加载StreamingAssets文件夹的txt文件了。请注意,上述代码在Android平台上会使用`UnityWebRequest`来加载文件,在其他平台上会使用`File`类来加载文件。这样可以保证在不同平台下的文件加载逻辑的一致性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值