有没有办法从android的资产文件夹中打开文件作为File对象?

问题描述

| 我想获取资产目录中文件的文件大小。我看到很多例子
 InputStream myInput = appContext.getAssets().open() 
我知道我可以通过简单地读取
InputStream
来确定文件大小,但是我正在寻找一种通过
File object
来实现此目的的方法。因此,我需要一条通往资产的道路,这就是我无法确定的事情...如何获得那条道路?还尝试通过
appContext.getAssets().openFd()
openNonAssetFd()
获得
AssetFileDescriptor
,但没有运气-得到
FileNotFound
或可能是压缩异常。顺便说一下,那些openFd方法在developer.android.com上有“漂亮的描述”。 我尝试了下一个代码:
file = new File(new URI(\"file:///android_asset/db/call3.db\"));
Log.i(APP_TAG,\"File name: \"+file.getName());
Log.i(APP_TAG,\"File path: \"+file.getPath());
Log.i(APP_TAG,\"File length: \"+file.length());
Log.i(APP_TAG,\"File isFile: \"+file.isFile());
Log.i(APP_TAG,\"File exists: \"+file.exists());
输出到日志: 04-13 12:10:03.413:INFO(6259):文件名:call3.db 04-13 12:10:03.432:INFO(6259):文件路径:/android_asset/db/call3.db 04-13 12:10:03.444:INFO(6259):文件长度:0 04-13 12:10:03.444:INFO(6259):文件isFile:false 04-13 12:10:03.444:INFO(6259):文件存在:false 当然文件的大小不是0,而是195584字节。     

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)