无法读取存储在res / raw中的文件

时间:2015-02-15 19:21:49

标签: android android-studio

我无法成功获取存储在res / raw目录中的公钥文件的内容。

我的目标是将此文件的内容读入File对象,然后我将其传递给另一个需要File对象作为其参数的函数。

请注意,此文件包含X509密钥,我认为这意味着我需要将其内容读取为字节(而不是文本)。

这是我主要活动的onCreate方法:

String filename = context.getResources().getResourceName(R.raw.public_key);
Log.d(TAG, filename);
File publicKeyFile = new File(filename);
if (!publicKeyFile.exists()) Log.d(TAG, "no public key file");

产生此输出:

  

raw / public_key
没有公钥文件

我做错了什么?谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

  

我的目标是将此文件的内容读入File对象,然后将其传递给另一个需要File对象作为其参数之一的函数。

除非您自己制作该文件的本地副本,否则这是不可能的。

  

我做错了什么?

原始资源不是文件。它们是ZIP存档中的条目,即APK文件。如果您需要File,请在原始资源上打开InputStream,将其内容复制到本地文件,然后使用本地文件。