我使用此代码从网上下载了一张图片,并将其直接保存到特定于应用程序的内部存储空间。
is = url.openConnection().getInputStream();
os = LoginActivity.this.openFileOutput(id + ".jpg", Context.MODE_PRIVATE);
int read;
byte[] data = new byte[1024];
while ((read = is.read(data)) != -1)
os.write(data, 0, read);
如何使用Drawable
访问此存储的图像?我尝试使用以下代码打开它,但操作导致文件未找到异常。
File imgPath = new File(id + ".jpg");
profilePic.setImageDrawable(Drawable.createFromPath(imgPath.getPath()));
答案 0 :(得分:1)
假设您在代码的以下行中调用os.close()
您需要在实例化File对象时指定路径。执行以下操作:
File imgPath = new File(yourContext.getFilesDir(), id + ".jpg");
如getFilesDir()
方法的文件所述:
返回文件系统上目录的绝对路径,其中存储使用openFileOutput(String,int)创建的文件。