37 lines
2.2 KiB
Markdown
37 lines
2.2 KiB
Markdown
# EXO-JAVA-Manipulation de fichiers
|
||
|
||
## Objectif
|
||
|
||
Créer une application de gestion de fichiers qui permet d’explorer et de maîtriser les différentes fonctionnalités de manipulation de fichiers en Java.
|
||
|
||
## Énoncé
|
||
|
||
### Partie 1 : Opérations de base sur les fichiers
|
||
|
||
1. Créer une classe `FileManager` avec les méthodes suivantes :
|
||
- `createFile(String path)` : Crée un nouveau fichier
|
||
- `deleteFile(String path)` : Supprime un fichier existant
|
||
- `copyFile(String source, String destination)` : Copie un fichier vers une nouvelle destination
|
||
- `moveFile(String source, String destination)` : Déplace un fichier vers une nouvelle destination
|
||
- `listFiles(String directory)` : Liste tous les fichiers d’un répertoire
|
||
- `getFileInfo(String path)` : Récupère les informations d’un fichier (taille, date de création, etc.)
|
||
2. Implémenter des méthodes de gestion des répertoires :
|
||
- `createDirectory(String path)` : Crée un nouveau répertoire
|
||
- `deleteDirectory(String path)` : Supprime un répertoire et son contenu
|
||
- `listDirectories(String path)` : Liste tous les sous-répertoires
|
||
- `getDirectorySize(String path)` : Calcule la taille totale d’un répertoire
|
||
|
||
### Partie 2 : Lecture et écriture de fichiers
|
||
|
||
1. Créer une classe `FileIO` avec les méthodes :
|
||
- `readTextFile(String path)` : Lit le contenu d’un fichier texte
|
||
- `writeTextFile(String path, String content)` : Écrit du contenu dans un fichier texte
|
||
- `appendToFile(String path, String content)` : Ajoute du contenu à la fin d’un fichier
|
||
- `readBinaryFile(String path)` : Lit le contenu d’un fichier binaire
|
||
- `writeBinaryFile(String path, byte[] data)` : Écrit des données binaires dans un fichier
|
||
2. Implémenter des méthodes de traitement avancé :
|
||
- `readFileByLines(String path)` : Lit un fichier ligne par ligne
|
||
- `writeFileByLines(String path, List<String> lines)` : Écrit un fichier ligne par ligne
|
||
- `readFileByChunks(String path, int chunkSize)` : Lit un fichier par morceaux
|
||
- `compressFile(String source, String destination)` : Compresse un fichier
|
||
- `decompressFile(String source, String destination)` : Décompresse un fichier |