如何确定资产中特定文件的绝对路径?
在 iPhone 应用程序中,我只需编写一行即可获取特定文件的完整路径(如下所示)。
NSString *strPath=[[NSBundle mainBundle] pathForResource:@"myjavascript" ofType:@"js"];
我的问题是如何获取位于 Android 中的 Assets 文件夹下的特定文件的完整路径。
示例图像。
In an iPhone Application, I just write one line to get the complete path for a specific file ( as below ).
NSString *strPath=[[NSBundle mainBundle] pathForResource:@"myjavascript" ofType:@"js"];
My question is How to get the complete path for a specific file which is located under Assets folder in Android.
Sample Image.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
资源被编译成 .apk 文件(基本上是 zip 文件)。您无法将系统路径放入 zip 文件中。您必须手动将 .apk 解压到某个文件夹,并获取 asset 文件夹和该文件夹内文件的文件系统路径。
但听起来您实际上并不需要资产文件的路径。您应该研究这些函数:
Context.getAssets()< /a>
AssetManager.open(字符串文件名)
AssetManager.openFd(字符串文件名)
这些函数允许您获取任何资产的输入流或文件描述符。下面是一个示例:
您需要指定资产相对于 asset 文件夹的路径。
Assets are compiled into .apk file (which basically is zip file). You can't get system path into zip file. You have to manually unzip .apk to some folder and get file system path to asset folder and files inside that folder.
But it sounds like you don't really need a path to asset files. You should look into these functions:
Context.getAssets()
AssetManager.open(String fileName)
AssetManager.openFd(String fileName)
These functions allow you to get input stream or file descriptor for any of your assets. Here is an example:
You need to specify path to your asset relatively to asset folder.