0% ont trouvé ce document utile (0 vote)
52 vues19 pages

Programmation Java : Gestion de Fichiers

Transféré par

lolita
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
52 vues19 pages

Programmation Java : Gestion de Fichiers

Transféré par

lolita
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 19

UE 2I002 (ex LI230) : éléments de

programmation par objets avec Java


TD11 - Flux
!
!
!

Juliana Silva Bernardes


juliana.silva_bernardes@[Link]

[Link]
Sumary

‣Flux de lecture /écriture


‣Manipulation (création, lecture,écriture, . . .)

2
compte rendu de TME

La classe File
La classe File
‣ paquetage
Le Le [Link] d grand
définit un ́efinitnombre
un grand nombre
de classes de les
pour gérer classes
entrés /pour
sorties gd’un
́erer les entrParmi
programme. ́es /
elles, la classe File permet de manipuler des fichiers ou des répertoires. Une instance de la classe File est une
sorties d’un
représentation programme
logique d’un fichier ou d’un répertoire qui peut ne pas exister physiquement sur le disque. La
classe File définit notamment les méthodes suivantes :

- File(String path) construit un objet File pointant sur l’emplacement passé en paramètre
- boolean canRead() indique si le fichier peut être lu
- boolean canWrite() indique si le fichier peut être modifié
- boolean createNewFile() crée un nouveau fichier vide à l’emplacement pointé par l’objet File,
createNewFile() peut lever l’exception [Link]
- boolean delete() détruit le fichier ou le répertoire
- boolean exists() indique si le fichier existe physiquement
- String getAbsolutePath() renvoie le chemin absolu du fichier
- File getParentFile() renvoie un objet File pointant sur le chemin parent de celui de l’objet File courant
- boolean isDirectory() indique si l’objet File pointe sur un répertoire
- boolean isFile() indique si l’objet File pointe sur un fichier
- File[] listFiles() si l’objet File est un répertoire, renvoie la liste des fichiers qu’il contient
- boolean mkdir() création du répertoire
- boolean mkdirs() création de toute l’arborescence du chemin
- boolean renameTo(File f) renomme le fichier

Exercice 71 – Manipulation de fichiers et d’arborescences

Soit la classe TestFile suivante :


1 import j a v a . i o . F i l e ;
2 import j a v a . i o . IOException ;

4 public c l a s s T e s t F i l e { 3
La classe File
import [Link];
!
public class TestFile {
public static void main(String[] args) {
File f=new File(args[0]);
[Link]([Link]()) ;
}
}

$ java TestFile [Link]


/Users/julianab/Documents/Aulas/UPMC/2015-2016/JAVA/TD11/classes/[Link]

4
La classe File
import [Link];
!
public class TestFile {
public static void main(String[] args) {
File f=new File(args[0]);
[Link]([Link]());
[Link]("Le fichier existe: “+
([Link]()?"oui":"non"));
}
}

java TestFile [Link]


/Users/julianab/Documents/Aulas/UPMC/2015-2016/JAVA/TD11/classes/[Link]
Le fichier existe : non

5
La classe File
import [Link];
!
public class TestFile {
public static void main(String[] args) {
File f=new File(args[0]);
[Link]([Link]()) ;
[Link]("Le fichier existe: “+
([Link]()?”oui":"non"));
[Link]() ;
}
}

$ javac [Link]
[Link][Link] error: unreported exception IOException; must be caught or declared to be thrown
[Link]() ;
^
1 error

6
La classe File
import [Link];
import [Link];
!
public class TestFile {
public static void main(String[] args) {
try {
File f=new File(args[0]);
[Link]([Link]()) ;
[Link]("Le fichier existe : “+
([Link]()?"oui":"non"));
[Link]() ;
[Link]("Le fichier existe : “+
([Link]()?"oui":"non"));
}catch (IOException e ) {
[Link]("Error" + [Link]());
}
}
}

$ java TestFile [Link]


/Users/julianab/Documents/Aulas/UPMC/2015-2016/JAVA/TD11/classes/[Link]
Le fichier existe : non
Le fichier existe : oui

7
La classe File
import [Link];
import [Link];
!
public class TestFile {
public static void main(String[] args) {
try {
File f=new File(args[0]);
[Link]([Link]()) ;
[Link]("Le fichier existe : “+
([Link]()?"oui":"non"));
[Link]() ;
[Link]("On peut le lire : “+
([Link]()?"oui":"non"));
[Link]("On peut le ecrire :”+
([Link]()?"oui":"non"));
}catch (IOException e ) {
[Link]("Error" + [Link]());
}
}
}
$ java TestFile [Link]
/Users/julianab/Documents/Aulas/UPMC/2015-2016/JAVA/TD11/classes/[Link]
Le fichier existe : oui
Le fichier existe : oui
On peut le lire : oui
On peut le ecrire : oui
8
La classe File

import [Link];
import [Link];
!
public class TestFile {
public static void main(String[] args) {
File f=new File(args[0]);
[Link]();
}
}

$ java TestFile dir1


Julianas-Air:classes julianab$ ls
[Link] [Link] dir1 [Link]

9
Flux
‣ Java possède une multitude de classes permettant la manipulation de flux de lecture/
écriture.

Deux categories de flux :


– Les flux entrants pour la lecture
– InputStream pour lire des octets
– Reader pour lire des caractères

– Les flux sortants pour l’écriture


– OutputStream pour écrire des octets – Writer pour écrire des caractères

10
Flux d’entrée
 '
‣ Lecture de caractères.

11
MJTFS VO PV VO
Flux d’entrée
*M BSSJWF TPVWFOU EFOSFHJTUSFS EFT EPOOÏFT EBOT EFT ĕDIJFST UFYUFT *M QFVU BMPST ÐUSF VUJMF EVUJ
QPVS FČFDUVFS MB MFDUVSF %BOT MFT FYFNQMFT TVJWBOUT PO
DPOTJEÒSF VOF NBUSJDF 10 × 10 FOSFHJTUSÏF EBOT VO ĕDIJFS UFYUF MJHOF QBS MJHOF BWFD
‣ Laclasse BufferReader
MFT DPMPOOFT TÏQBSÏFT QBSpermet de lire plus que un caractère à la fois, une ligne
EFT FTQBDFT du
ficher par exemple.

12
Flux de sortie

‣ Un flux de sortie est une instance d’une sous-classe de OutputStream.


‣ Chaque classe de flux de sortie a son propre mode d’écriture de données.
‣ ByteArrayOutputStream permet d’écrire des octets vers le flux de sortie;
‣ DataOutputStream permet d’écrire des types de données primitifs de Java vers le
flux de sortie.
‣ FileOutputStream est utilisé pour écrire dans un fichier.
‣ ObjectOutputStream permet d’écrire des objets si ces objets implémentent les
interfaces Serializable ou Externalizable.
‣ Writer représente un flux de sortie pour chaînes de caractères.

13
$IBQJUSF  (FTUJPO EFT FOUSÏFTTPSUJFT TJNQMFT
Flux de sortie

14
Flux de sortie
‣ La classe BufferWriter permet de écrire plus que un caractère à la fois, une ligne dans
le ficher par exemple.
!
String ligne ;
int nombre = 123;
try{
FileWriter f = new FileWriter(destination);
BufferedWriter fichier = new BufferedWriter(f);
[Link]("bonjour tout le monde");
[Link]();
[Link]("Nous sommes le "+ new Date());
[Link](", le nombre magique est " + nombre);
[Link]();
}
catch (Exception e) {
[Link]();
}

15
Flux de sortie

16
Les fichiers à accès direct

17
Les fichiers à accès direct

18
Les fichiers à accès direct

19

Vous aimerez peut-être aussi