【问题标题】:How do I write an object to a file and read it back?如何将对象写入文件并将其读回?
【发布时间】:2017-11-13 14:22:10
【问题描述】:

我需要你的帮助,因为我想在文件中写入一个对象并读回它。

这行代码有问题:Vehicule result = (Vehicule) read.readObject ();

try {
       List<Vehicule> voiture = new ArrayList<Vehicule>();

       //Write object to file 
       FileOutputStream fos = new FileOutputStream("Garage.ser");
       ObjectOutputStream ecriture = new ObjectOutputStream(fos);
       System.out.println("\nIci - Ecriture de mon fichier\n");
       ecriture.writeObject(voiture);
       ecriture.close();
       //read object from file
       FileInputStream fis = new FileInputStream("Garage.ser");
       ObjectInputStream lecture = new ObjectInputStream(fis);
        System.out.println("\nIci - Lecture du fichier\n");
        Vehicule result = (Vehicule) lecture.readObject();
        lecture.close();

   }catch (FileNotFoundException e){
       System.out.println("Aucune voitures sauvegardé !");
   }catch (IOException e) {
       e.printStackTrace();
   }catch (ClassNotFoundException e) {
       e.printStackTrace();
   }

感谢您的帮助。

【问题讨论】:

  • 问题是您正在序列化 List&lt;Vehicule&gt; ,并试图将其反序列化为 Vehicule

标签: java file serialization


【解决方案1】:

您似乎在写List&lt;Vehicule&gt;,但读到的是Vehicule

【讨论】:

  • 谢谢!如何将 ArrayList 转换为字符串?有方法吗?我应该创建自己的转换方法吗?
  • @Toufik :只需写 List&lt;Vehicule&gt; result = (List&lt;Vehicule&gt;) lecture.readObject(); 然后访问您的列表内容,例如 Vehicule firstVehicule = result.get(0);
猜你喜欢
  • 2017-06-19
  • 2012-06-17
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多