2 clcurie 11 clcurie_11 于 2013.04.18 14:52 提问

如何处理当试图下载一个不存在的文件的时候,程序就崩溃的问题

当试图下载一个不存在的文件的时候,程序就崩溃了,当文件不存在的时候如何阻止它下载,但是存在的时候可以下载。
下载文件的代码:

 try {
        fis = openFileInput(FILENAME1);
        byte[] dataArray = new byte[fis.available()];
        while (fis.read(dataArray) != -1){
            task1 = new String(dataArray);

        }

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    finally {
        try {
            fis.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

2个回答

ppgl1988
ppgl1988   2013.04.18 15:36
File f = new File("fineName");
f.exists();

判断下,

suannai0314
suannai0314 帮你编辑了下代码的格式,更多markdown使用见http://ask.csdn.net/pages/markdown
接近 5 年之前 回复
luhuajcdd
luhuajcdd   2013.04.19 09:39

首先下载文件的时候,如果文件不存在的情况下,openFileInput(FILENAME1)这个方法里面,应该是可以知道这个结果的,然后返回null; 这样 fis = null ;
判断fis的状态;

if(fis != null){
 byte[] dataArray = new byte[fis.available()];
        while (fis.read(dataArray) != -1){
            task1 = new String(dataArray);

        }
}

finally里面也要判断;

 finally {
        try {
           if(fis != null){
            fis.close();
           }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!