Files
tp-java-fichiers/README.md
Vincent Guillet c3914e8169 first commit
2025-04-29 17:33:06 +02:00

37 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# EXO-JAVA-Manipulation de fichiers
## Objectif
Créer une application de gestion de fichiers qui permet dexplorer 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 dun répertoire
- `getFileInfo(String path)` : Récupère les informations dun 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 dun 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 dun fichier texte
- `writeTextFile(String path, String content)` : Écrit du contenu dans un fichier texte
- `appendToFile(String path, String content)` : Ajoute du contenu à la fin dun fichier
- `readBinaryFile(String path)` : Lit le contenu dun 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