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");
该文件保存在我的资产文件夹中,如下所示:
答案 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();