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

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

 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();
        }
    }
File f = new File("fineName");
f.exists();

判断下,

首先下载文件的时候,如果文件不存在的情况下,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();
        }
    }