Я создал новый файл roomChecker
который пуст. Теперь, когда я его читаю, это бросает мне EOFException, что нежелательно. Вместо этого я хочу, чтобы он увидел, что если файл пуст, он будет запускать другие две функции, которые находятся в состоянии if(roomFeed.size() == 0)
. Я мог бы написать это заявление в разделе EOFException catch; но это не то, что я хочу сделать, потому что тогда каждый раз, когда файл будет считаться и доходит до конца файла, он будет выполнять эти функции. Вместо этого, когда файл имеет некоторые данные, он должен делать то, что указано в другом месте.EOFexception, вызванный пустым файлом
File fileChecker = new File("roomChecker.ser");
if(!fileChecker.exists()) {
try {
fileChecker.createNewFile();
} catch (IOException e) {
e.printStackTrace();
System.out.println("Unable to create new File");
}
}
try(FileInputStream fis = new FileInputStream("roomChecker.ser"); ObjectInputStream ois = new ObjectInputStream(fis)) {
roomFeed = (List<roomChecker>) ois.readObject();
System.out.println("End of read");
if(roomFeed.size() == 0) {
System.out.println("your in null if statement");
defaultRoomList();
uploadAvailableRooms();
} else {
for(int i=0; i<roomNumber.size(); i++) {
for(int j=0; j<roomFeed.size(); i++) {
if((roomNumber.get(i)).equals(roomFeed.get(i).getRoomNumSearch())){
System.out.println("Reach Dead End for now");
} else {
defaultRoomList();
uploadAvailableRooms();
}
}
}
}
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Когда вы создаете файл в первый раз, напишите ему пустой список. – jtahlborn
fileChecker.length() return 0 then file is empty else return> 0 файл не пустой два, если затем отправить соответствующие методы для каждого –