我存储了相机拍摄的照片,如下所示:
FileOutputStream out = new FileOutputStream("img_example");
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
在onCreate()方法(同一个活动/文件)中,我检查文件是否存在,但我必须做错了,因为它没有进入下面的测试:
file = getApplicationContext().getFileStreamPath("img_example");
if(file.exists())
{
//doesn't go in here
}
我怀疑这与我给出的路径或上下文有关。
背景资料: 我实际上有3个不同的上述代码实例。在file.exists()测试中,我在“拍摄图像”按钮旁边显示一个勾号。最后,我想要在另一个活动中检索图像但是现在我只想检查它是否存在
答案 0 :(得分:2)
最明显的原因是“因为它不存在”。
我注意到您的代码正在“当前目录”中创建文件,并在应用程序上下文中查找该文件。显然他们不是同一个地方。为什么不呢......
FileOutputStream out = new FileOutputStream(
getApplicationContext().getFileStreamPath("img_example"));
答案 1 :(得分:0)
正如android documentation中所述:
getFileStreamPath(String name)
返回存储使用openFileOutput(String,int)创建的文件的文件系统的绝对路径。
为什么不使用openFileOutput()方法编写文件?