2013-04-21 30 views
0

我检查,看是否有文件中的设备上存在如下:如何在不产生异常的情况下检查文件是否存在?

boolean fileExists = new File(fullPathName).isFile(); 

它工作正常,但logcat的给了我两个错误,如果该文件不存在:

BitmapFactory | Unable to decode stream: java.io.FileNotFoundException: <fullPathName> ... 

JHEAD | can't open <fullPathName> ... 

如何在不产生异常的情况下检查文件是否存在?

+0

在哪里呢文件存在。它是在SD卡上。你可以发布你如何获得fullPathName? – Raghunandan 2013-04-21 17:23:44

+0

完整路径名称正确。我已经使用它很长时间从设备获取照片,并将它们写入ListView中的ImageView。我现在要做的就是添加一个不确定的进度条,以防我需要从网络中获取它。 (如果文件本地不存在:显示编程栏,从网络获取照片,隐藏编程栏和显示照片。如果文件存在本地:只显示它。所有的逻辑工作正常,所以我知道文件路径确定) – gcl1 2013-04-21 17:30:26

+0

你是否在manifest文件中添加了permisssion? – Raghunandan 2013-04-21 17:31:36

回答

2

试试这个

File f= new File(fullPathName); 
if(f.exists()) 
{ 
} 
+0

谢谢,但这是我的第一个解决方案。它给出了相同的错误。 – gcl1 2013-04-21 17:21:31

+0

@ gcl1如果它满足上述条件,则对其执行操作..ie如果文件存在 – Pragnani 2013-04-21 17:22:18

+3

@ gcl1:“它给出相同的错误” - 根据您在问题中粘贴的内容,您的错误来自“BitmapFactory” 。 'BitmapFactory'不是'File'。据推测,你的代码中有一些其他的bug,与使用BitmapFactory有关。由于您没有包含任何与“BitmapFactory”相关的代码,因此我们无法进一步帮助您。考虑编辑你的问题,以提供**所有代码**和**所有与你的错误相关的堆栈跟踪**。 – CommonsWare 2013-04-21 17:36:49

相关问题