Juzzz
Gebruiker
- Lid geworden
- 15 jan 2008
- Berichten
- 281
ik wil data makkelijk kunnen opslaan en terug lezen.
wat ik heb:
Objects.java
saveObjects.java
nu moet ik het uitlezen in de zelfde volgorde als hoe ik het er in heb gezet.
dus als ik bijvoorbeeld 2 variabelen namen verander zoals:
dan is naam=today is monday, en today=piet
wat ik wil:
ik wil dat ik het als een soort variabelen kan opslaan.
zoals bv in een .ini
dat ik gewoon kan zeggen in dit bestand zoek ik de naam.
ik hoop dat ik het zo goed uitgelegd hebt.
alvast bedankt
wat ik heb:
Objects.java
Code:
import java.io.Serializable;
public class Objects implements Serializable{
private String naam, woonplaats, postcode;
private int huisNr, aantalBewoners;
public Objects(){
naam="unknown";
woonplaats="unknown";
postcode="unknown";
huisNr=-1;
aantalBewoners=-1;
}
public void setNaam(String s){
naam = s;
}
public String getNaam(){
return naam;
}
public void setWoonplaats(String s){
woonplaats = s;
}
public String getWoonplaats(){
return woonplaats;
}
public void setPostcode(String s){
postcode = s;
}
public String getPostcode(){
return postcode;
}
public void setHuisNr(int i){
huisNr = i;
}
public int setHuisNr(){
return huisNr;
}
public void setAantalBewoners(int i){
aantalBewoners = i;
}
public int setAantalBewoners(){
return aantalBewoners;
}
public String toString(){
return new String("Naam:\t\t" + naam + "\n" +
"Woonplaats:\t" + woonplaats + "\n" +
"Postcode:\t" + postcode + "\n" +
"Huis nummer:\t" + huisNr + "\n" +
"Aantal bew:\t" + aantalBewoners + "\n"
);
}
}
saveObjects.java
Code:
import java.io.*;
import java.util.*;
public class saveObjects{
public static void main(String[] args){
String naam="", woonplaats, postcode, today="";
int huisNr, aantalBewoners, i=0;
Date date = new Date();
Objects obj = new Objects();
obj.setNaam("piet");
obj.setWoonplaats("rotterddam");
obj.setPostcode("1337 ME");
obj.setHuisNr(13);
obj.setAantalBewoners(4);
System.out.println(obj);
//save
try{
FileOutputStream fos = new FileOutputStream("test.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeInt(12345);
oos.writeObject("Today is Monday");
oos.writeObject(new Date());
oos.writeObject(obj.getNaam());
oos.close();
}catch(IOException e) {e.printStackTrace();}
//load
try{
FileInputStream fis = new FileInputStream("test.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
i = ois.readInt();
today = (String) ois.readObject();
date = (Date) ois.readObject();
naam = (String) ois.readObject();
ois.close();
}
catch(IOException e) {e.printStackTrace();}
catch(java.lang.ClassNotFoundException e){
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
System.out.println("int i:\t" + i);
System.out.println("today:\t" + today);
System.out.println("Date:\t" + date);
System.out.println("Naam:\t" + naam);
}
}
nu moet ik het uitlezen in de zelfde volgorde als hoe ik het er in heb gezet.
dus als ik bijvoorbeeld 2 variabelen namen verander zoals:
Code:
i = ois.readInt();
naam = (String) ois.readObject();
date = (Date) ois.readObject();
today = (String) ois.readObject();
dan is naam=today is monday, en today=piet
wat ik wil:
ik wil dat ik het als een soort variabelen kan opslaan.
zoals bv in een .ini
Code:
[persoon]
naam=piet
leeftijd=21
dat ik gewoon kan zeggen in dit bestand zoek ik de naam.
ik hoop dat ik het zo goed uitgelegd hebt.
alvast bedankt
Laatst bewerkt: