Android Studio无法在资产文件夹中找到文件

时间:2015-02-15 06:35:47

标签: android android-studio

Android Studio的新功能,我在相当简单的事情上磕磕绊绊。我试图打开一个存储在项目的assets文件夹中的文件。我收到FileNotFoundException错误。我该如何正确存储和引用该文件?

以下是崩溃的方法:

    public void saveKey(String outFile, String pubKeyFilename) throws IOException, GeneralSecurityException {

        File out = new File(outFile);
        File publicKeyFile = new File(pubKeyFilename);

        // read public key to be used to encrypt the AES key
        byte[] encodedKey = new byte[(int)publicKeyFile.length()];

        // crashes here
        new FileInputStream(publicKeyFile).read(encodedKey);

        //...
}

以下是我的称呼方式:

EncryptRSA cipher = new EncryptRSA();
cipher.saveKey("temp", "public.der");

该文件保存在我的资产文件夹中,如下所示:enter image description here

1 个答案:

答案 0 :(得分:0)

  

我正在尝试打开我存储在assets文件夹中的文件   我的项目。

要从assets文件夹访问文件,请使用AssetManager使用文件名获取InputStream:

AssetManager assManager = getApplicationContext().getAssets();
InputStream inputStream = assManager.open(pubKeyFilename);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = reader.readLine();