я использовал буферное писатель для записи содержимого массива в текстовый файлBufferedWriter не писать массив
try {
File file = new File("Details.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
for (String line : customer) {
bw.write(line); //line 178
bw.newLine();
}
bw.flush();
bw.close();
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
customer[]
массив следующим образом:
String customer[] = new String[10];
customer[1]="Anne";
customer[2]="Michelle";
Но когда я пытаюсь При написании файла я получаю следующую ошибку:
Exception in thread "main" java.lang.NullPointerException
at java.io.Writer.write(Unknown Source)
at HotelFunctions.storeData(CustomerMenu.java:178)
at MainClass.main(MainClass.java:38)
Я выяснил, что ошибка вызвана тем, что customer[0]
- null. Я хочу избежать нулевых элементов и писать только элементы, содержащие строковое содержимое. Есть ли способ справиться с этой ошибкой?
поставить проверку внутри цикла для нулевых элементов и не писать их. название вашего вопроса вводит в заблуждение, проблема заключается не в том, что буферист не пишет. это то, что вы даете ему недопустимый аргумент. – pvg
Вы должны устранить проблему при заполнении своего массива клиентов, убедившись, что в элементе, расположенном в индексе 0 вашего массива, есть допустимая строка (customer [0] = «Anne»;). – DevilsHnd