簡體   English   中英

InputStream返回NullPointerException(Java)

[英]InputStream returning NullPointerException (Java)

這是獲取NullPointerException錯誤的代碼:

InputStream is = getAssets().open("twentyone.txt");
InputStreamReader iz=new InputStreamReader(is);
BufferedReader br = new BufferedReader(iz);

可能出什么問題了?

*編輯:printStackTrace

03-19 18:20:18.662: E/AndroidRuntime(929): Caused by: java.lang.NullPointerException

編輯2:編寫代碼,直到出現例外:

public class ListViewAa3 extends ListViewA{



public String[] process(String cti)throws IOException{
    String ctid=cti;
    Log.d("Outside try invoked","tag1");
    try{
        Log.d("beginning of try invoked","tag2");
        try{
    InputStream is = getAssets().open("USCOUNTIES.txt");
    InputStreamReader iz=new InputStreamReader(is);
    BufferedReader br = new BufferedReader(iz);}catch(Exception e){e.printStackTrace();}

好,我知道了。 我必須將主要活動的上下文傳遞給此類,然后使用context.getAssets.open("twentyone.txt");

對於有相同問題的任何人,請執行以下操作:將其放在具有活動的類的onCreate函數中: Context context=getApplicationContext();

將上下文傳遞給新類的函數(在我的示例中為“ process(String a,Context context)”),然后在流程函數中鍵入以下內容:

InputStream is = context.getAssets().open("twentyone.txt");

花了我4個小時才弄清楚這種愚蠢的事情。

也許getAssets()為null並嘗試檢查文件二十一.txt是否存在,如果存在,則嘗試輸入完整的文件路徑並重新運行您的應用程序!

您打開的文件沒有完整路徑,這就是錯誤的原因。 嘗試

new File("twentyone.txt").getAbsolutePath()

暫無
暫無

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

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