簡體   English   中英

當使用openFileInput找不到文件時,如何防止android應用崩潰

[英]How to prevent android app from crashing when a file has not been found using openFileInput

我想對使用FileInputStream找不到文件的情況做出反應。 當我運行的應用程序加載了一個不存在的文件時,它會強制關閉以打開android彈出窗口。 我想通過在文本視圖中更改文本並說未找到文件來對這種情況做出反應。 我嘗試更改異常以更改文本視圖,並顯示未找到文件,並且應用程序仍然崩潰。

這是一段代碼:

 FileInputStream fis = null;
    String collected = null;
    try {
        fis = openFileInput("test");
        byte[] dataArray = new byte[fis.available()];
        while (fis.read(dataArray) != -1){
            collected = 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();
        }
    }


    tv.setText(collected);

為確保Android應用程序不會強制關閉,您的選擇是:a)不做任何會導致異常的事情,b)用自己的try / catch塊捕獲異常,c)安裝應用程序級未捕獲的異常處理程序。 選項a不太可行,c並不是很有用,根據您的代碼片段,您似乎正在嘗試b-但是,似乎還有另一個例外,您對此並不了解。 logcat的內容將告訴您什么異常,並且堆棧跟蹤將導致代碼中需要try / catch的一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM