У меня есть два класса:Невозможно записать объект в файл в Java
public abstract class GiaoDich{
//variable and set/get method
public abstract double calcualteMoney();
}
public class GiaoDichDat extends GiaoDich implements Serializable {
public static List<GiaoDichDat> listGiaoDichDat = new ArrayList<>();
//new value
@Override
public double calculatorMoney() {
}
public void getDatafromKeyboard() {
//get data from keyboard
}
public double avgMoney() {
}
public void readFile() throws FileNotFoundException, IOException, ClassNotFoundException
{
List<GiaoDichDat> lsttemp = new ArrayList<GiaoDichDat>();
try
{
System.out.println("Doc du lieu tu file");
ObjectInputStream obis = new ObjectInputStream(new FileInputStream("GiaoDichDat.text"));
lsttemp = (List<GiaoDichDat>) obis.readObject();
obis.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
for (GiaoDichDat get : lsttemp)
{
System.out.println(get.toString());
}
}
public void saveFile() throws FileNotFoundException, IOException
{
try
{
FileOutputStream fos = new FileOutputStream("GiaoDichDat.text");
ObjectOutputStream obos = new ObjectOutputStream(fos);
obos.writeObject(listGiaoDichDat);
fos.close();
obos.flush();
System.out.println("Ghi du lieu thanh cong");
obos.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
После прочтения данных из терминала, я пишу в файл это нормально. Но когда я снова прочитал. У него нет данных.
Пожалуйста, покажите мне код, который вы пишете и читаете данные? – phongvan
Покажите мне свой файл для записи и чтения. –
общественного недействительный ReadFile() бросает FileNotFoundException, IOException, \t \t \t ClassNotFoundException { \t \t Список lsttemp = новый ArrayList (); \t \t try { \t \t \t System.out.println ("Doc du lieu tu file"); \t \t \t ObjectInputStream OBIS = новый ObjectInputStream (новый FileInputStream ( \t \t \t \t \t "GiaoDichDat.text")); () obis.readObject(); \t \t \t obis.close(); \t \t} catch (IOException ex) { \t \t ex.printStackTrace(); \t \t} \t \t для (GiaoDichDat получить: lsttemp) { \t \t \t System.out.println (get.toString()); \t \t} \t} –