如何确定资产中特定文件的绝对路径?

发布于 2024-10-12 18:47:52 字数 295 浏览 1 评论 0原文

在 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.

alt text

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聆听风音 2024-10-19 18:47:52

资源被编译成 .apk 文件(基本上是 zip 文件)。您无法将系统路径放入 zip 文件中。您必须手动将 .apk 解压到某个文件夹,并获取 asset 文件夹和该文件夹内文件的文件系统路径。

但听起来您实际上并不需要资产文件的路径。您应该研究这些函数:

Context.getAssets()< /a>
AssetManager.open(字符串文件名)
AssetManager.openFd(字符串文件名)

这些函数允许您获取任何资产的输入流或文件描述符。下面是一个示例:

AssetManager assetManager = getAssets();
InputStream assetIn = assetManager.open("excanvas.js");
//do something with assetIn...  

您需要指定资产相对于 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:

AssetManager assetManager = getAssets();
InputStream assetIn = assetManager.open("excanvas.js");
//do something with assetIn...  

You need to specify path to your asset relatively to asset folder.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文