Avatar billede mickni33 Nybegynder
26. juli 2001 - 11:10 Der er 5 kommentarer og
2 løsninger

gemme objekt på fil

Jeg er C++ mand som lige er startet på java, selvom java kun er for børn :) har jeg et lille problem. Jeg vil gerne kunne gemme og hente et helt person objekt på en fil da dette jo er mest hensigtsmæsig, så man kan åbne og lukke sit program uden at miste data.
Måske i har et lille eksempel. pleaaase
Avatar billede disky Nybegynder
26. juli 2001 - 11:14 #1
http://java.sun.com/j2se/1.3/docs/guide/serialization/

der kan du finde exempler, dokumentation osv.
Avatar billede lbhansen Nybegynder
26. juli 2001 - 11:16 #2
Du skal sørge for at dit objekt implementerer java.io.Serializable
Derefter kan du lave en ObjectOutputStream
ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(\"saved.dat\"));
out.writeObject(ditObject);
out.flush();
out.close();

Du laver nogenlunde det samme, når du skal hente dit object igen, men bruger bare inputstreams
Avatar billede mickni33 Nybegynder
26. juli 2001 - 11:38 #3
public class Start implements Serializable{
private Car_class[] car_class;

///constructor ///////////////
public Start() throws IOException{
  car_class=new Car_class[20];
    String file=\"BILFIL.txt\";
      FileInputStream inFile=new FileInputStream(file);
      ObjectInputStream inStream=new ObjectInputStream(inFile);
      car_class=((Car_class[])inStream.readObject());
      inStream.close(); 
}
}

Sådan ser min ene klasse ud, den laver så en compiler fejl som ser sådan ud

::unreported exception java.lang.ClassNotFound Exception; must be caught or declared to be thrown
car_class=((Car_class[]) inStream.readObject());

den siger der er fejl ved punktum, instream.readObject
Avatar billede lbhansen Nybegynder
26. juli 2001 - 11:44 #4
hvis du kigger på dokumentationen http://java.sun.com/j2se/1.3/docs/api/index.html
Så vil du se, at readObject() smider følgende exceptions:
OptionalDataException,
ClassNotFoundException,
IOException
Du skal derfor erklære dem lige som du har erklæret IOException, eller også fange dem med
en try{  //dostuff }catch(Exception e){//dostuff}
struktur
Avatar billede mickni33 Nybegynder
26. juli 2001 - 13:12 #5
nu virke det må vist heller læse mere på exception.
jeg syntes man går meget op i exceptions er det rigtigt ?
I C++ hvor jeg kommer fra er det også vigtigt, men man kan dog lave alt uden at have det med.
Avatar billede mickni33 Nybegynder
26. juli 2001 - 13:14 #6
I for 25 hver disky kom med et godt link og ibhansen guidede mig til exception error
Avatar billede lbhansen Nybegynder
26. juli 2001 - 13:18 #7
det fornuftige ved exceptions er, at man når man skriver en metode tager højde for hvilke fejl man selv kan håndtere, og hvilke man selv smider videre i hierakiet.

Det gør det også ret nemt at gennemskue kode du får udleveret, hvis exceptions er blevet brugt fornuftigt
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester