NullPointerException при создании массива из файла Android? - PullRequest
0 голосов
/ 26 июня 2011

Я получаю nullpointerexception, когда я создаю большой массив из файла.Новый элемент должен быть создан для каждой строки .txt файла.Я получаю исключение nullPointerException при использовании массива, созданного из этого файла.

Вот мой код:

static String[] results=new String[172820];
            public String[] getWords(){
    try{
        InputStream fstream = getResources().openRawResource(R.raw.enable1);

        DataInputStream in = new DataInputStream(fstream);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;

        for (int x=0; (strLine = br.readLine()) != null; x++)   {
           results[x]=strLine;            
        }
        in.close();
       }catch (Exception e){//Catch exception if any
           System.err.println("Error: " + e.getMessage());
        }
       return results;
}

1 Ответ

2 голосов
/ 26 июня 2011

Сначала я собирался упомянуть, что большинство устройств имеют максимальный размер кучи 16 МБ и что вы, возможно, превышаете его, но затем я обнаружил эту страницу .Казалось бы, 512 - это максимальный размер массива.Я бы попробовал предложение, данное @kcoppock, и попробовал ArrayList.

В качестве примечания: казалось бы, вы загружаете «слова» в массив.Ни одно устройство на рынке не может быть достаточно быстрым, чтобы перебирать массив элементов 172К с какой-либо эффективностью;Я полагаю, вы настраиваете пользователя на медленный и мучительный опыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...