# 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 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