|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Aug 2005
Città: Erba
Messaggi: 146
|
[Java]ObjectOutputStream
Diciamo che sn ancora alle prime armi con il java e mi stavo cimentando con una cosa del genere che ovviamente non va:
Codice:
import java.util.*;
import java.io.*;
public class testObjectIO {
public static void main(String[] args){
File f = new File("C://dati.dat");
ArrayList<testclass> test = new ArrayList<testclass>();
testclass prova = new testclass(111,"Codice1","Descrizione1");
test.add(prova);
prova = new testclass(222,"Codice2","Descrizione2");
test.add(prova);
try {
ObjectOutputStream o = new ObjectOutputStream(f);
o.writeObject(test);
o.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Codice:
public class testclass {
private int id;
private String codice, descrizione;
public testclass(int nid, String cod, String desc){
id = nid;
codice = cod;
descrizione = desc;
}
public void print(){
System.out.println("ID: " + id + "Codice: " + codice + "Descrizione: " + descrizione);
}
}
1) xke non va 2) se io creo un ArrayList di testclass come faccio a raggiungere i metodi presenti all'interno della classe? Grazie a tt x l'aiuto.
__________________
-BoB~ |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 401
|
ehm... cos'è che non ti funziona? che errori ti dà il compilatore?
per la seconda devi usare il metodo get(int) passando come argomento l'indice dell'elemento che ti serve. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2005
Città: Erba
Messaggi: 146
|
Questo riporta eclipse:
Codice:
Description Resource Path Location Type The constructor ObjectOutputStream(File) is undefined testObjectIO.java testObjectIO/src line 24 Java Problem diciamo per esempio che abbia creato 1 arraylist di testclass e che, dopo aver inserito dei valori voglia invocare il metodo stampa presente in testclass. Come faccio?
__________________
-BoB~ |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
L'unico costruttore utilizzabile direttamente di ObjectOutputStream riceve solo un OutputStream, non File, String o altro.
Istanzia dunque un FileOutputStream e passalo a quel costruttore. E inoltre: ArrayList è di per sé serializzabile ma lo devono essere anche tutti gli oggetti contenuti!! E la tua classe testclass non è Serializable.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Aug 2005
Città: Erba
Messaggi: 146
|
mi spiegheresti meglio il concetto di classe serialiZzabile ??
__________________
-BoB~ |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2008
Messaggi: 401
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:06.




















