Я пытаюсь реализовать функцию входа в систему для своей программы, но она возвращает исключение с нулевым указателем. Я понимаю, что это происходит, когда вы ссылаетесь на место в памяти, в котором ничего нет, но, насколько я могу судить, я правильно создал экземпляры всех своих объектов - пожалуйста, поправьте меня, если я ошибаюсь!
Я пытаюсь реализовать функцию добавления пользователя: у меня есть список имен пользователей и паролей, и у меня есть существующий метод, который считывает этот файл и сохраняет его в массиве. Я хочу записать новый логин в список, поэтому я написал новый метод, который преобразует этот массив в 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);
}