У меня проблема с заданием из школы. Я предназначен для вывода массива объектов в файл, что я могу сделать. Но я должен проверить, существует ли файл, и если он существует, то выводить в этот файл, а не создавать новый.
Я пытался поместить объявление FileOutputStream вне моего оператора if, но тогда файл всегда будет существовать.
Я также пытался создать новый ObjectOutputStream в моей первой половине оператора if, но я получаю IOException относительно заголовков.
Как записать объекты (класса Employee) в файл, который уже существует?
public void saveEmployeesToFile() {
try {
File employeeFile = new File("CurrentEmployees.emp");
if (employeeFile.exists()) {
System.out.println("File already exists");
} else {
FileOutputStream employeeFileObject = new FileOutputStream(employeeFile);
ObjectOutputStream output = new ObjectOutputStream(employeeFileObject);
for (Employee thisEmp : getEmployees()) {
output.writeObject(thisEmp);
}
System.out.println("Employees successfully saved to new file");
employeeFileObject.close();
output.close();
}
} catch (IOException ioe) {
System.out.println("Error initializing stream");
System.out.println(ioe.getMessage());
}
}