Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-09-2009, 19:17   #1
francesco289
Senior Member
 
L'Avatar di francesco289
 
Iscritto dal: Apr 2009
Città: MN - MI
Messaggi: 2741
[Java] Non riesco a serializzare una lista

Ciao a tutti devo serializzare una lista di oggetti Punteggio...mi da sempre errore come posso fare?
Vi riporto il codice che ho scritto...

DataEntry.java
Codice:
package main;

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.util.List;

import javax.swing.*;

class DataEntry extends JPanel implements ActionListener { 
	
	 JButton b,b2; 
	 JTextField txt;
	 JTextField txt2;
	 static JTextArea records;
	 public int score;
	 public DataEntry(int score){  
		 super(); 
	
		 this.score=score;
		 b = new JButton("Inserisci"); 
		 b2= new JButton("Visualizza records");
		 txt=new JTextField("Nome", 20);
		 txt2=new JTextField(Integer.toString(score),20);
		 txt2.setEditable(false);
		 records= new JTextArea(11, 20);
		 records.setEditable(false);
	 
		 b.addActionListener(this); 
		 b2.addActionListener(this); 
		 add(txt); 
		 add(txt2);
		 add(b);
		 add(b2);
		 add(records);
	 }
	 
	 public void readFile() { 
		 records.setText("");
		 LinkedList<Punteggio> record=new LinkedList();
		 record=carica();
		// record.get(1);
		 System.out.println(record.get(1));
		 
		 
	 }

	 
	 public void actionPerformed(ActionEvent arg) {
		
		String pressed = arg.getActionCommand();
		JButton bottone=(JButton) arg.getSource();
		if (pressed.equals("Inserisci")) {
			Punteggio p = new Punteggio();
			p.setGiocatore(txt.getText());
			p.setPunti(Integer.parseInt(txt2.getText()));
			salva(p);
			readFile();
		} else {
			//readFile();	 
		} 		
} 
	 
	 
		
	 
	 
	 public void salva(Punteggio p) {
			LinkedList <Punteggio> punteggi;
			
			punteggi=carica();
			punteggi.add(p);
			salva(punteggi);
		}
		
		/** Salva i primi dieci punteggi della collezione in argomento */
		private void salva(LinkedList lista) {
			FileOutputStream fout=null;
			ObjectOutputStream out;
			
			try {
				fout=new FileOutputStream("record.dat");
			}
			catch(IOException e) {}
			
			
			
			try {
				out=new ObjectOutputStream(fout);
				out.writeObject(lista);
			}
			catch(IOException e) {}
			
		}
		
		
		
		public LinkedList <Punteggio> carica() {
			
			File file = new File("record.txt");
			if(!file.exists()) {
				return new LinkedList<Punteggio>();
			} else {
				return carica(file);
			}
		}
		
		
		private LinkedList <Punteggio> carica(File file) {
			LinkedList <Punteggio> lista = null;
			
			FileInputStream fin=null;
			ObjectInputStream in=null;
			
			try {
				fin=new FileInputStream(file);
				in=new ObjectInputStream(fin);
			}
			catch(IOException e) {}
			
			try {
				lista=(LinkedList<Punteggio>) (in.readObject());
			}
			catch(IOException e) {}
			catch(ClassNotFoundException e) {}
			
			return lista;
			
		}
		
}
Punteggio.java
Codice:
package main;

import java.io.*;



public class Punteggio implements Serializable {



	private String giocatore;
	private int punti;

	public String getGiocatore() {
		return giocatore;
	}

	public void setGiocatore(String nome) {
		giocatore = nome;
	}

	public int getPunti() {
		return punti;
	}

	public void setPunti(int punti) {
		this.punti = punti;
	}

    public int compareTo(Object o) {
        Punteggio that = (Punteggio) o;
        if(that.getPunti() < this.getPunti()) return -1;
        if(that.getPunti() > this.getPunti()) return 1;
        return 0;
    }

}
idee?
francesco289 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2009, 19:52   #2
nucarote
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 2992
se ci dici anche l'errore magari ti potremmo essere + di aiuto. Per quello che mi ricordo, ti posso consigliare di sostituire int con Integer nella classe Punteggio.

Ultima modifica di nucarote : 06-09-2009 alle 19:55.
nucarote è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2009, 20:32   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
int o Integer è uguale - dal punto di vista della serializzazione.

"flusha" dopo la scrittura:

out.flush();

e chiudi i flussi al termine delle operazioni di lettura e scrittura:

out.close();
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
iPhone 18 Pro e Pro Max, svelata la capa...
Dreame L50 Ultra AE a 499€ (invece di 59...
Problemi di gioventù per i Pixel 11: Goo...
Le app di dating potrebbero aver stufato...
Il successo di iPhone Duo rappresentereb...
Cartello sull'IA? L'accusa durissima con...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v