Vous êtes sur la page 1sur 6

P.O.

O (JAVA) Ecole Supérieure Année universitaire


El Abdellaoui Saïd de Technologie de Safi 2020-2021

P.O.O (JAVA Avancé)


TP
Objectif : Les Flux (Entrée/Sortée)
Séance : 3éme semaine
Préparé par : Guerroum khawla, Lbakali hanane, Hala Kajji, Abid Saad
Exercice 0 :
o Ecrire un programme qui permet de lire le dossier racine, savoir son contenu
et si c’est un fichier ou un répertoire.
o Ecrire un programme qui permet d’afficher le contenu d’un répertoire y
compris le contenu de ses sous répertoires.

Exercice 1 : (Gestion des fichiers) 


- Ecrire une classe Linux qui contient les fonctions suivant :
o Une fonction ls (File f) qui permet de Lister les informations nécessaires d’un
répertoire (les droits, taille et nom).
 Exemple : drwx 1200 rep
-rw 1111 fich.txt.
o Une fonction cp(File fs,File fd) qui permet de copier le contenu de fichier fs
dans le fichier fd
o Une fonction find(File rep,File f) qui permet de chercher le fichier f dans le
répertoire rep.
o Une fonction diff (File f1, File f2) qui permet de comparer les deux fichiers f1
et f2 et afficher les lignes différents.
o Une fonction diff (File f1, File f2) qui permet de comparer les deux fichiers f1
et f2 et afficher les lignes différents (utilisé la classe FileReader pour lire les
deux fichiers ) .

Exercice2 :
Ecrire un programme qui permet de copier le contenu de fichier f1 dans le
fichier f2 (utilisé la classe BufferedReader,) .

Exercice 3 : (Sérialisation/Désérialisation)


- Ecrire une classe nommée Etudiant qui contient les attributs suivants : String nom et
prénom, Long CNE.
a) Ajouter des modificateurs puis une méthode toString ().
b) Sérialiser la classe en implémentant l’interface sérialisable. Bonne Chance
- Ecrire une autre classe nommée TestEtudiant qui contient : Une méthode main ()
instanciant un objet de type Etudiant

1
P.O.O (JAVA) Ecole Supérieure Année universitaire
El Abdellaoui Saïd de Technologie de Safi 2020-2021

a) Enregistrer cet objet dans un fichier nommée etudiant.txt (utilise la classe


ObjectOutputStream pour écrire un objet dans etudiant.txt et ObjectInputStream
pour lire un objet)

Méthodes publiques principales de la File


boolean createNewFile() Création d’un nouveau fichier vide, et renvoie vrai si le nouveau
fichier n'existait pas avant sa création.
boolean exists() Renvoie vrai si et seulement si le fichier existe.
String getName() Retourne le nom du fichier.
boolean 1sFile() Retourne vrai s’il s’agit d’un fichier et faux sinon.
String getPath() Retourne le chemin du fichier.
String getAbsolutePath() Retourne le chemin absolu
int compare To(File pathname) Comparaison des 2 chemins

boolean renameTo(File dest) Renomme un fichier. retourne false si le file dest existe
déjà, et le renommage n'est pas effectué.
boolean canRead() Renvoie vrai si le fichier peut être lu, et faux sinon.
boolean setReadOnly() Marque le fichier en lecture seule.
boolean canWrite() Renvoie vrai si le fichier peut être écrit, et faux sinon.
boolean canExecute() Renvoie vrai si le fichier peut être exécuté, et faux sinon.
boolean isLidden() Retourne true si le fichier est caché Sous Windows, le fichier est
marqué "caché". Sous Unix le nom du fichier commence par un
point
long lastModified() Retourne la date de la dernière modification sous format de long.
Date d = new Date(f .lastModified()) ;
boolean delete() Supprime le fichier.
void deleteOnExit() Supprime le fichier à la fin de l’exécution de la machine virtuelle.
long length() La longueur du fichier, en octets.
static File[| ListRoots() Liste les lecteurs. Un pour chaque lecteur sous Windows
(X:) et "/" sous Unix.
String|] list() Renvoie la liste des fichiers contenus dans le répertoire sous forme
d’un tableau de chaînes.
File[] listFiles() Retourne la liste des fichiers contenus dans le répertoire sous
forme d’un tableau de fichiers.
boolean mkdir() Crée un répertoire.
boolean mkdirs() Crée un répertoire, et tous ses parents nécessaires. L'appel de
mkdir avec un File constitué de "\" retourne false. Exemple:
"D:/Cours]ava/PaquetES"
boolean isDirectory() Bonne Chance
Retourne vrai s’il s’agit d’un répertoire et faux sinon.

2
P.O.O (JAVA) Ecole Supérieure Année universitaire
El Abdellaoui Saïd de Technologie de Safi 2020-2021

Méthodes publiques principales de la classe OutputStream


protected void finalize() Il est utilisé pour nettoyer la connexion avec le flux de sortie du
fichier.
void write(byte[] ary) Il est utilisé pour écrire array.length octets du tableau d'octets dans le
flux de sortie du fichier.

void write(byte[] ary, int Il est utilisé pour écrire len octets à partir du tableau d'octets en
commençant par offset dans le flux de sortie du fichier.
off, int len)
void write(int b) Il est utilisé pour écrire l'octet spécifié dans le flux de sortie du fichier.
FileChannel getChannel() Il est utilisé pour renvoyer l'objet de canal de fichier associé au flux de
sortie du fichier.
FileDescriptor getFD() Il est utilisé pour renvoyer le descripteur de fichier associé au flux.
void close() Il est utilisé pour fermer le flux.

Méthodes publiques principales de la classe InputStream


int available() Il est utilisé pour renvoyer le nombre estimé d'octets pouvant être lus à
partir du flux d'entrée.
int read() Il est utilisé pour lire l'octet de données du flux d'entrée.
int read(byte[] b) Il est utilisé pour lire jusqu’à b.length octets de données à partir du flux
d’entrée.
int read(byte[] b, int off, Il est utilisé pour lire jusqu'à len octets de données du flux d'entrée.
int len)
long skip(long x) Il est utilisé pour ignorer et supprimer x octets de données du flux
d'entrée.
FileChannel getChannel() Il est utilisé pour renvoyer l'unique objet FileChannel associé au flux
d'entrée de fichier.
FileDescriptor getFD() Il est utilisé pour renvoyer l'objet FileDescriptor.
void close() Il est utilisé pour fermer le flux.

Méthodes
Méthodes
publiques
publiques
principales
principales
de la
deObjectOutputStream
la classe Reader
boolean ready() Indique si le flux est prêt à être lu
close() ferme le flux et libère les ressources qui lui étaient associées
int read() Bonne Chance
renvoie le caractère lu ou -1 si la fin du flux est atteinte.
int read(char[]) lire plusieurs caractères et les mettre dans un tableau de caractères.

3
P.O.O (JAVA) Ecole Supérieure Année universitaire
El Abdellaoui Saïd de Technologie de Safi 2020-2021

int read(char[], int, int) lire plusieurs caractères. Elle attend en paramètre : un tableau de
caractères qui contiendra les caractères lus, l'indice du premier élément
du tableau qui recevra le premier caractère et le nombre de caractères à
lire. Elle renvoie le nombre de caractères lus ou -1 si aucun caractère n'a
été lu. Le tableau de caractères contient les caractères lus.

write(int) écrire le caractère en paramètre dans le flux.


write(char[]) écrire le tableau de caractères en paramètre dans le flux.
write(char[], int, int) écrire plusieurs caractères. Elle attend en paramètres : un tableau
de caractères, l'indice du premier caractère et le nombre de
caractères à écrire.
write(String) écrire la chaîne de caractères en paramètre dans le flux
write(String, int, int) écrire une portion d'une chaîne de caractères. Elle attend en
paramètre : une chaîne de caractères, l'indice du premier caractère
et le nombre de caractères à écrire.
close() ferme le flux et libère les ressources qui lui étaient associées

FileReader(String) Créer un flux en lecture vers le fichier dont le nom est précisé en
paramètre.
FileReader(File) Le même mais le fichier est précisé avec un objet de type File.
close() ferme le flux et libère les ressources qui lui étaient associées

Méthodes publiques principales de la classe FileReader


FileWriter(String) Si le nom du fichier précisé n'existe pas alors le fichier sera créé.
S'il existe et qu'il contient des données celles-ci seront écrasées.
FileWriter(File) Le même mais le fichier est précisé avec un objet de type File.
FileWriter(String, boolean) Le booléen permet de préciser si les données seront ajoutées au
fichier (valeur true) ou écraseront les données existantes (valeur
false)
close() ferme le flux et libère les ressources qui lui étaient associées

Méthodes publiques principales de la classe FileWriter


FileWriter(String) Si le nom du fichier précisé n'existe pas alors le fichier sera créé. S'il
existe et qu'il contient des données celles-ci seront écrasées.
FileWriter(File) Le même mais le fichier est précisé avec un objet de type File.
Bonne Chance
FileWriter(String, boolean) Le booléen permet de préciser si les données seront ajoutées au fichier
(valeur true) ou écraseront les données existantes (valeur false)
String readLine() lire une ligne de caractères dans le flux. Une ligne est une suite de

Méthodes publiques principales de la classe BufferedWriter


P.O.O (JAVA) Ecole Supérieure Année universitaire
El Abdellaoui Saïd de Technologie de Safi 2020-2021

caractères qui se termine par un retour chariot '\r' ou un saut de ligne '\n'
ou les deux.
close() ferme le flux et libère les ressources qui lui étaient associées

BufferedWriter(Writer) Le paramètre fourni doit correspondre au flux dans lequel les données
sont écrites.
BufferedWriter(Writer, int) L’entier en paramètre permet de préciser la taille du buffer. Il doit être
positif sinon une exception IllegalArgumentException est levée.
flush() Vide le tampon en écrivant les données dans le flux.
newLine() Écrire un séparateur de ligne dans le flux
close() ferme le flux et libère les ressources qui lui étaient associées

Méthodes publiques principales de la classe BufferedReader


BufferedReader(Reader) Le paramètre fourni doit correspondre au flux à lire.
BufferedReader(Reader, L'entier en paramètre permet de préciser la taille du buffer. Il doit être
int) positif sinon une exception de type IllegalArgumentException est levée.

close() Ferme le flux et libère les ressources qui lui étaient associées

Méthodes publiques principales de la ObjectOutputStream


Créer une instance qui va écrire le résultat de la
ObjectOutputStream (OutputStream out) sérialisation dans le flux fourni en paramètre
public final void writeObject (Object obj) Sérialiser un objet
public void write(int data) Ecrire un octet

public void write (byte b[]) Ecrire un ensemble d'octets

public void write(byte b[], int off, int len) Ecrire un ensemble d'octets

public void flush() Vider le tampon

public void close() Fermer le flux

public void writeBoolean(boolean data)


public void writeByte(int data)
public void writeShort(int data)
public void writeChar(int data)
public void writeInt(int data) Bonne Chance
Ecrire une donnée primitive dans le bloc de données
public void writeLong(long data) (block data)
public void writeFloat(float data)
public void writeDouble(double data)

5
P.O.O (JAVA) Ecole Supérieure Année universitaire
El Abdellaoui Saïd de Technologie de Safi 2020-2021

public void writeBytes(String data)


public void writeChars(String data)

public void writeUTF(String data) Ecrire une chaîne de caractères encodée en UTF-8
modifié
Attend en paramètre un objet de type InputStream qui
ObjectInputStream(InputStream out) encapsule le flux dans lequel les données sérialisées
seront lues.
Object readObject() Désérialiser un objet
int read() Lire un octet
int read(byte[] data, int offset, int length) Lire un ensemble d'octets
boolean readBoolean()
byte readByte()
int readUnsignedByte()
short readShort() Lecture d'une donnée primitive dans le bloc de
int readUnsignedShort() données (block data)
char readChar()
int readInt()
long readLong()
float readFloat()
double readDouble()
void close() Fermer le flux
String readUTF() Lire une chaîne de caractères encodée en UTF-8
modifié

Bonne Chance

Vous aimerez peut-être aussi