Programmeren in Java/In- & uitvoer: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
→‎Naar een gebufferd bestand: Bestanden behandelen
Regel 390:
}}
 
==Bestanden behandelen==
:'''Uitdrukkingen'''
* File bestand = new File("pad");
Regel 456:
}}
 
=Objecten=
 
De interface Serializable is een marker interface; die bevat immers geen methods, maar heeft als doel aan te duiden dat het object kan wegge­schreven en gelezen kan worden door middel van een stream.
:'''Uitdrukkingen'''
* stroom.writeObject(object)
:'''Voorbeeld'''
{{Code|
| Taal=Java
| Titel=objectStroom.java
| Code=<source lang=java>import java.io.*;
public class ObjectStroom {
public static void main(String[] args) {
try {
FileOutputStream fileO = new FileOutputStream("vrienden.dat");
ObjectOutputStream stroomO = new ObjectOutputStream(fileO);
Vriend tom = new Vriend("Tom",12);
Vriend jan = new Vriend("Jan",15);
Vriend pol = new Vriend("Pol",45);
stroomO.writeObject(tom);
stroomO.writeObject(jan);
stroomO.writeObject(pol);
stroomO.close();
FileInputStream fileI = new FileInputStream("vrienden.dat");
ObjectInputStream stroomI = new ObjectInputStream(fileI);
boolean eof = false;
while (!eof) {
Vriend eenVriend = (Vriend) stroomI.readObject();
if (eenVriend == null) eof = true;
else System.out.println(eenVriend.getInfo());
}
stroomI.close();
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}</source>
}}
Bovenstaande code schrijft onderstaand type object weg.
{{Code|
| Taal=Java
| Titel=Vriend.java
| Code=<source lang=java>import java.io.*;
public class Vriend implements Serializable {
private String naam;
private int leeftijd;
public Vriend(String naam,int leeftijd) {
this.naam=naam;
this.leeftijd=leeftijd;
}
public String getInfo() {
return naam + " " + leeftijd;
}
public double getLeeftijd() {
return leeftijd;
}
}</source>
}}
Je kan met transient voorkomen dat een bepaalde variabele van een object weggeschreven wordt, bvb. omdat je het niet veilig vindt om deze gevoelige informatie in een bestand weg te schrijven, bvb. [[w:Wet bescherming persoonsgegevens|privé-data]] als paswoord, inkomen, ...: private transient double loon;
 
 
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.