将文件复制到assets文件夹

时间:2011-12-06 11:56:05

标签: java android file inputstream android-assets

搜索1小时后,我找不到解决问题的方法。

我想将文件从sdcard移动到assets文件夹,并且还会覆盖assets文件夹中的现有文件(这两个文件都是sqlite数据库,它们具有相同的名称,但数据只有一点点差异)

...

3 个答案:

答案 0 :(得分:13)

实际上, android .apk文件的行为是只读的,因此该apk文件中的目录结构也是如此,因此,没有人可以写入此文件或对其进行更改运行时,这就是为什么你不能在运行时在/asset folder中进行更改。您可以从中读取文件(意味着将资产中可用的文件复制到任何internal storage/sdcard ,但不将其写入反之亦然

适用于.apk文件中构建的所有目录。按照文档。

答案 1 :(得分:4)

资产文件夹不可写只有可读,所以你不能从sdcard复制到资产,是的,你可以从资产复制到sdcard

答案 2 :(得分:1)

如果您希望其他应用不访问您的数据库,那么您可以做的是

  1. 从网站下载数据库。在app目录中创建一个临时数据库。
  2. getDatabasePath()这将为您提供已创建的虚拟数据库的路径,现在将其替换为您下载的虚拟数据库。
  3. PS:具有超级用户权限的用户和应用仍然可以访问它,并且您无法在该方案中执行任何操作