我正在尝试打开位于我的android工作室项目@ res / drawable / conan_obrian.png中的文件。但是,抛出了java.io.FileNotFoundException。我尝试过不同的路径名组合而没有结果。
此代码段抛出异常:
InputStream is;
byte[] buffer = new byte[0];
try {
final AssetManager assetMgr = context.getResources().getAssets();
is = assetMgr.open("drawable/conan_obrian.png");
buffer = new byte[is.available()];
is.read(buffer);
} catch (IOException e) {
e.printStackTrace();
}
serverAPI.register(userName, Base64.encodeToString(buffer,Base64.DEFAULT).trim(), myCrypto.getPublicKeyString());
答案 0 :(得分:3)
如果您有assets/drawable
文件夹,但是您尝试加载资源,那么您的代码将是正确的,因此R.drawable.conan_obrian
。
例如,您可以在ImageView上将该ID用于setResourceDrawable
。
或者您可以使用
使用该ID获取Drawable对象Drawable d = getResources().getDrawable(R.drawable.conan_obrian)
res/
目录下的任何内容都会加载到R.java
文件中的长整数列表中。