Partage
  • Partager sur Facebook
  • Partager sur Twitter

Serialisation et désérialisation

    6 avril 2022 à 2:58:40

    Bonjour tout le monde j'aimerais que vous m'aidiez à enregistrer et à lire des objets dans un fichier

    Voici le bout de code que j'ai pour sérialiser

    ArrayList<Products> prod = new ArrayList<>();
    	ArrayList<Products> prode = new ArrayList<>();
    	Products product;
    JButton btnNewButton = new JButton("Ajouter");
    		btnNewButton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent e) {
    				String id = textField.getText();
    				String name = textField_1.getText();
    				String cat = comboBox.getActionCommand();
    				int quant = textField_4.getX();
    				int price = textField_2.getY();
    			
    					
    					product = new Products(id, name, cat, quant, price);
    					prod.add(product);
    					
    					ObjectOutputStream oos = null;
    					FileOutputStream fos = null;
    					
    					try {
    						oos = new ObjectOutputStream(
    								new BufferedOutputStream(
    									new FileOutputStream(
    										new File("ProdFile.txt"))));
    						
    						oos.writeObject(product);
    						oos.close();
    						Table();
    						JOptionPane.showMessageDialog(null, "Produit enrégistré avec Succès");
    					}catch (IOException eio){
    						eio.printStackTrace();
    					} finally {
    						if (fos != null) {
    							safeClose(fos);
    						}
    					}
    					Table();
    				
    			}

    j'ai créer une fonction pour désérialiser dans un Jtable

    public void Table() {
    		String [] produit = {"ID", "Nom du Produit", "Catégorie", "Quantité", "Prix"};
    		String [] afficher = new String [6];
    		DefaultTableModel model = new DefaultTableModel(null, produit);
    		ObjectInputStream ois = null;
    		FileInputStream fis = null;
    		
    		try {
    				fis = new FileInputStream(new File("ProdFile.txt"));
    				ois = new ObjectInputStream(fis);
    			
    				prode = (ArrayList<Products>) ois.readObject();
    				
    				for(Products i : prode) {
    					afficher[0] = i.getId();
    					afficher[1] = i.getName();
    					afficher[2] = i.getCategory();
    					afficher[3] = i.getCategory();
    					afficher[4] = i.getCategory();
    			
    					model.addRow(afficher);
    				}
    			table.setModel(new DefaultTableModel(
    				new Object[][] {
    					{null, null, null, null, null},
    				},
    				new String[] {
    					"ID", "Nom du Produit", "Cat\u00E9gorie", "Quantit\u00E9", "Prix"
    				}
    			));
    		} catch (Exception ex) {
    			ex.printStackTrace();
    			}
    		}




    • Partager sur Facebook
    • Partager sur Twitter
      6 avril 2022 à 10:31:31


      **P.X.L a écrit:** >J'ai un message d'erreur qui dit impossible de caster la classe de l'objet en ArrayList
      • Partager sur Facebook
      • Partager sur Twitter
        6 avril 2022 à 11:47:35

        Bonjour,

        Tu écris tes objets un par un dans ton fichier. Il faut donc les récupérer un par un.

        • Partager sur Facebook
        • Partager sur Twitter
          6 avril 2022 à 12:33:15

          brubru777 a écrit:

          Bonjour,

          Tu écris tes objets un par un dans ton fichier. Il faut donc les récupérer un par un.


          Comment les écrire à plusieurs alors ?

          • Partager sur Facebook
          • Partager sur Twitter

          Serialisation et désérialisation

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          • Editeur
          • Markdown