Итак, я просмотрел пару решений, но ни одно из них не помогло мне.
Спасибо за некоторых людей, я получил бесконечный цикл прямо в конце, но он все еще не работает для меня.
Я хочу прочитать файл "output.txt" в список объектов.
Поэтому я предоставляю оставшиеся коды, так как думал, что они вообще не помогут ...
try {
List<House> listH = new ArrayList<>();
boolean cont = true;
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("output.txt"));
while(cont)
{
House house = (House) ois.readObject();
if(house != null)
listH.add(house);
else
cont = false;
}
ois.close();
mainmenu();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
Код написания:
try {
FileWriter writer = new FileWriter("output.txt");
for(House str : listH)
{
writer.write(String.valueOf(str) + "\n");
}
writer.close();
System.out.println("Successful writing");
} catch (IOException e) {
e.printStackTrace();
System.out.println("Couldn't write");
}
Дом Объект:
public class House {
String address;
double area;
boolean garage;
public House(String address, double area, boolean garage){
this.address=address;
this.area = area;
this.garage = garage;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public boolean isGarage() {
return garage;
}
public void setGarage(boolean garage) {
this.garage = garage;
}
@Override
public String toString() {
return address + ";" + area + ";" + garage;
}
}
Сообщения об ошибках следующие:
java.io.StreamCorruptedException: неверный заголовок потока: 3134313B в
java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:866)
at java.io.ObjectInputStream. (ObjectInputStream.java:358)