Source de Rectangle9.java
import java.io.Serializable;
public class Rectangle9
implements Serializable {
double x, y, largeur, hauteur;
Rectangle9(double valX, double valY,
double valL, double valH) {
x = valX;
y = valY;
largeur = valL;
hauteur = valH;
}
public String toString() {
String v=",";
return "("+x+v+y+v+largeur+v+hauteur+")";
}
}
|
Source de EcrireFichier3.java
import java.io.*;
public class EcrireFichier3 {
public static void main(String[] args) {
if (args.length!=1) {
System.out.println("argument nom_de_fichier !");
System.exit(0);
}
Fichier fichier= new Fichier(args[0]);
if (fichier.ecrirePossible()) {
try {
ObjectOutputStream flotEcriture =
new ObjectOutputStream(
new FileOutputStream(fichier));
System.out.println("combien de rectangles ?");
int combien= Clavier.lireInt();
double x,y,l,h;
Vector lesRectangles=new Vector();
for (int i=0; i<combien; i++) {
System.out.println("donnez un rectangle\n"
+"x y largeur hauteur\n");
x= Clavier.lireDouble();
y= Clavier.lireDouble();
l= Clavier.lireDouble();
h= Clavier.lireDouble();
lesRectangles.add(new Rectangle9(x,y,l,h));
}
flotEcriture.writeObject(lesRectangles);
flotEcriture.close();
} catch (IOException e) {
System.out.println(" erreur :" + e.toString());
}
} else
System.out.println(args[0]+" "
+fichier.proprietes());
}
}
|
$ java EcrireFichier3 resulto combien de rectangles ? 2 donnez un rectangle x y largeur hauteur 1 2 3 4 donnez un rectangle x y largeur hauteur 5 6 7 8 |
Source de LireFichier3.java
import java.io.*;
public class LireFichier3 {
public static void main(String[] args) {
if (args.length!=1) {
System.out.println("argument nom_de_fichier !");
System.exit(0);
}
Fichier fichier= new Fichier(args[0]);
if (!fichier.lirePossible()) {
System.out.println(args[0]
+" "+fichier.proprietes());
System.exit(0);
}
try {
ObjectInputStream flotLecture =
new ObjectInputStream(
new FileInputStream(fichier));
Object lu = flotLecture.readObject();
if (lu instanceof Vector) {
Vector lesRectangles=(Vector)lu;
for (int i=0; i<lesRectangles.size(); i++) {
Object elem = lesRectangles.elementAt(i);
if (elem instanceof Rectangle9)
System.out.println("rectangle "
+((Rectangle9)elem).toString());
}
flotLecture.close();
}
else {
System.out.println("erreur de type");
System.exit(1);
}
} catch (Exception e) {
System.out.println(" erreur :" +e.toString());
}
}
}
|
$ java LireFichier3 resulto rectangle (1.0,2.0,3.0,4.0) rectangle (5.0,6.0,7.0,8.0) |