如何获得资源的路径?

时间:2010-09-10 01:06:42

标签: android

我想使用RandomAccessFile类来访问我的应用程序附带的文件。但是,该类只接受String,该String是文件的路径。如果我将文件放在像assets目录这样的地方,我该如何构建该文件的路径?我知道我可以使用getAssets方法来读取资源,但那些只返回无法搜索的InputStreams。

谢谢!

3 个答案:

答案 0 :(得分:0)

我不知道你是否只是错过了 - 但我找到了很多可用String作为输入的方法。

查看AssetManager的文档,您会找到以下方法:

final String[]   list(String path)
Return a String array of all the assets at the given path.

final InputStream    open(String fileName, int accessMode)
Open an asset using an explicit access mode, returning an InputStream to read its contents.
final InputStream    open(String fileName)
Open an asset using ACCESS_STREAMING mode.

因此,至少可以使用一种list方法和两种open方法。

答案 1 :(得分:0)

资源问题是你没有得到任何文件名 - 至少在Android 2.2之前。所以实际上你不能使用类RandomAccessFile。但我认为你可以尝试使用InputStream的方法:reset()和skip(long)应该做的伎俩。 : - )

答案 2 :(得分:0)

Android资源不能直接作为文件访问。实际上它们通常存储在.apk中,所以它们根本不是文件 - 只是压缩数据。

您可以对InputStream对象进行基本操作。如果您需要更高级的东西,那么您可以将整个文件读取到内存缓冲区或将其复制到数据分区或SD卡上的某个实际文件中。