Ecrire une classe TestFlotDeDonnees qui crée un répertoire à partir
d’un chemin (String) s’il n’existe pas, quitte le programme si ce
chemin correspond à un fichier qui n’est pas un répertoire, et sinon
crée un fichier nommé « donnees.txt » dans ce répertoire (à
condition que ce fichier n’existe pas déjà). Le programme va alors
écrire dans ce fichier la chaîne de caractères « Donnees inutilisables
entrantes et sortantes ».
Le programme traitera les exceptions (de type IOException ) et les
imprimera si elles se produisent. On imprimera également la taille
en octets du flot DataOutputStream représentant le fichier en
utilisant la méthode size(). [Remarque : On doit constater que si la
chaîne initiale contient n caractères - ces caractères étant des
caractères Unicode (codés sur 16 bits) - ils occupent alors 2n octets].
1. Pour créer un DataOutputStream permettant d’écrire dans un
fichier, on crée d’abord un objet File, puis un objet
FileOutputStream à partir de l’objet File, puis un objet
DataOutputStream à partir de l’objet FileOutputStream .
2. Pour écrire une chaîne String dans le flot de sortie, on dispose de
la méthode writeChars() qui accepte un argument de type String.
Correction
Exercice 1
import java.io.*;
public class In {
private static int c;
... // voir énoncé de l’exo plus haut
public static void init() { readC(); }
public static boolean isEmpty() { return c == -1; }
public static String getString () {
String s = "";
while (!(isEmpty() || isWhite() )) {
s += (char) c;
readC ();
}
while (!(isEmpty() || isWhite() ))
return s;
}
public static int getInt() {
return Integer.parseInt(getString());
}
public static double getDouble () {
return Double.parseDouble(getString());
}
}