Получение исключения нулевого указателя при использовании метода isEmpty ()

Я пытаюсь реализовать функцию входа в систему для своей программы, но она возвращает исключение с нулевым указателем. Я понимаю, что это происходит, когда вы ссылаетесь на место в памяти, в котором ничего нет, но, насколько я могу судить, я правильно создал экземпляры всех своих объектов - пожалуйста, поправьте меня, если я ошибаюсь!

Я пытаюсь реализовать функцию добавления пользователя: у меня есть список имен пользователей и паролей, и у меня есть существующий метод, который считывает этот файл и сохраняет его в массиве. Я хочу записать новый логин в список, поэтому я написал новый метод, который преобразует этот массив в ArrayList и в конечном итоге запишет в него новый логин, а затем снова запишет файл входа. Проблема в том, что я получаю исключение нулевого указателя.

Метод 1:

public String[] readFile(){
    ArrayList<String> dataList = new ArrayList<String>();
    String Line;
    try {
        String line = br.readLine();
        do {                
            dataList.add(Line);
            line = br.readLine();
        }
        while (!line.isEmpty());
        br.close ();
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    String[] dataArr = new String[dataList.size()];
    dataArr = dataList.toArray(dataArr);

    return dataArr; // Returns an array containing the separate lines of the file
}

Метод 2:

public void addNewUser (String username, String password){
    String[] dataArr = readFile();  // Read in the list of profiles and store it in an array
    ArrayList<String> dataAL = new ArrayList<String>(Arrays.asList(dataArr));   // store array of profiles as ArrayList
    dataAL.add(username + "\t" + password);

}
8
задан user1058210 26 December 2011 в 19:09
поделиться