Il existe de nombreuses tâches répétitives que vous devrez peut-être effectuer de temps à autre. Par exemple, si vous devez régulièrement apporter des modifications aux fichiers sur votre ordinateur local. Ces actions peuvent inclure la copie, le déplacement, la suppression ou l'archivage de fichiers.
Au lieu d'effectuer ces tâches répétitives manuellement, vous pouvez les automatiser à l'aide d'un programme. Vous pouvez le faire avec un seul fichier de script, en utilisant l'un des nombreux langages de programmation disponibles, tels que Java.
Comment configurer l'application Java
Tout d'abord, assurez-vous d'avoir Kit de développement Java SE d'Oracle installée. Créez ensuite une application console Java simple :
- Créez un fichier n'importe où sur votre ordinateur appelé SimpleScript.java.
- Ouvrez le fichier dans un éditeur de texte ou un IDE.
- En haut du fichier, importez la classe IOException. Cela vous permettra de gérer les exceptions liées aux fichiers ou aux E/S lorsque vous essayez d'effectuer certaines fonctions, comme la copie d'un fichier.
importer java.io. IOException ;
- Ci-dessous, ajoutez la classe Java principale et le principale méthode. La méthode principale s'exécutera lorsque vous démarrerez l'application. Pour l'instant, imprimez simplement un message pour vous assurer que le programme s'exécute correctement. Après cela, vous pouvez remplacer le contenu de la fonction main par l'un des exemples suivants pour les tester.
classerSimpleScript{
Publiquestatiqueannulerprincipale(arguments de chaîne [])jette IOException {
System.out.println("Application console simple");
}
} - Pour exécuter le script, commencez par utiliser une ligne de commande pour accéder à l'emplacement de votre fichier Java. Par exemple, si vous avez stocké votre fichier sur le Bureau, la commande serait :
CD Bureau
- Enregistrez le fichier et utilisez le javac commande pour le compiler. Chaque fois que vous apporterez des modifications au fichier, vous devrez le recompiler avec javac.
javac SimpleScript.java
- Exécutez l'application :
java SimpleScript
Comment accéder aux fichiers locaux sur votre ordinateur
Vous pouvez utiliser la classe File pour accéder par programme aux fichiers d'un répertoire.
- Créez un nouveau dossier, appelé Nouveau répertoire, dans le même répertoire que votre fichier java. Créez des fichiers à l'intérieur - ils peuvent être des fichiers texte vides si vous le souhaitez.
- En haut de votre application Java, importez la classe File. Cela vous permettra d'accéder à certaines méthodes et autres fonctionnalités liées aux fichiers et répertoires du système d'exploitation.
importer java.io. Dossier;
- Créez un nouvel objet File en utilisant le chemin relatif vers votre nouveau dossier.
Répertoire de fichiers = Nouveau Fichier("NouveauRépertoire");
- Utilisez la fonction listFiles() pour accéder à une liste de tous les fichiers dans ce répertoire.
Fichier[] listOfFiles = répertoire.listFiles();
pour (Fichier fichier: listeDeFichiers) {
System.out.println (fichier);
} - Re-compiler et exécuter le programme en utilisant le javac et Java commandes.
Comment copier des fichiers vers un autre emplacement
Il existe plusieurs façons de copier des fichiers. Un moyen courant de copier des fichiers (en particulier avant Java 7 et le package java.nio.file) consiste à utiliser les classes FileInputStream ou FileOutputStream.
- La FileInputStream La classe vous permet d'ouvrir un flux d'entrée pour lire les octets d'un fichier.
- La FileOutputStream La classe vous permet d'ouvrir un flux de sortie pour écrire des octets dans un fichier.
Lors de la copie de fichiers, l'idée est d'ouvrir un flux d'entrée et de sortie. En utilisant ces flux, vous allez lire les octets du fichier à l'emplacement source, puis écrire ces octets au nouvel emplacement.
Cet exemple utilisera une implémentation plus récente pour copier des fichiers, en utilisant la fonction copy() de la classe Files du package java.nio.file. Pour utiliser le package java.nio.file, vous devez avoir Java 7 ou supérieur installé.
- En haut du fichier, importez les classes File et Path à partir du package java.nio.file.
importer java.nio.file. Des dossiers;
importer java.nio.file. Chemins ; - Ajouter un nouveau fichier appelé FichierÀCopier.txt dans le même répertoire que votre fichier java. Dans la fonction main(), déclarez le chemin relatif vers ce fichier.
Chaîne copySource = "FileToCopy.txt";
- Créez un nouveau dossier, appelé Nouveau dossier, pour y copier le fichier. Ajoutez le chemin relatif à la destination dans la fonction main().
String copyDestination = "NewFolder/FileToCopy.txt" ;
- Utilisez la méthode copy() pour copier le fichier de sa source vers la destination.
essayer {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} attraper(Exception e) {
System.out.println("Impossible de copier le fichier de spécifications dans: " + copyDestination
+ ". Vérifier si le dossier ou le fichier existe déjà.");
} - Re-compiler et exécuter le programme en utilisant le javac et Java commandes.
- Ouvrez le nouveau dossier pour confirmer que le programme a copié votre fichier.
Comment déplacer des fichiers ou des dossiers
Vous pouvez déplacer des fichiers ou des dossiers à l'aide de la mouvement() fonction dans la classe Files, qui fait également partie du package java.nio.file.
- Créez un nouveau dossier appelé DirectoryToMove dans le même dossier que votre fichier Java.
- Créez un deuxième dossier appelé Nouveau répertoire dans le même dossier. C'est là que le programme déplacera le dossier d'origine.
- Créez des objets File pour le répertoire que vous souhaitez déplacer et l'emplacement vers lequel vous souhaitez le déplacer :
Fichier moveSource = Nouveau Fichier("RépertoireÀDéplacer");
Fichier moveDestination = Nouveau Fichier("NouveauRépertoire/RépertoireÀDéplacer"); - Utilisez le Fichiers.move() méthode pour déplacer le fichier de la source vers la destination :
essayer {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Répertoire déplacé avec succès.");
} attraper (IOException ex) {
ex.printStackTrace();
} - Re-compiler et exécuter le programme en utilisant le javac et Java commandes.
- Ouvrez le dossier NewDirectory pour voir que le dossier "DirectoryToMove" est maintenant à l'intérieur.
Comment supprimer un fichier
Vous pouvez utiliser le effacer() méthode de la classe File pour supprimer un fichier particulier.
- Créer un fichier nommé FichierÀSupprimer.txt. Enregistrez le fichier dans le même dossier que votre application Java.
- Créez un nouvel objet File pour le fichier que vous souhaitez supprimer. Ensuite, utilisez sa méthode delete() pour supprimer le fichier. La méthode delete renvoie une valeur true ou false, selon que la suppression a réussi ou non.
Fichier fileToDelete = Nouveau Fichier("FichierÀSupprimer.txt");
si (fileToDelete.delete()) {
System.out.println("Fichier supprimé avec succès.");
} autre {
System.out.println("Impossible de supprimer le fichier.");
}
Comment compresser des fichiers
Il existe plusieurs façons de créer une archive zip contenant plusieurs fichiers compressés. Cet exemple utilisera le ZipOutputStream et EntréeZip Des classes.
- Importez les classes ZipOutputStream, ZipEntry et FileOutputStream nécessaires en haut du fichier.
importer java.util.zip. ZipOutputStream ;
importer java.util.zip. EntréeZip ;
importer java.io. FileOutputStream ; - Créez le fichier zip et une liste d'objets zipEntry représentant les fichiers texte que vous souhaitez compresser. Cet exemple générera de nouveaux fichiers texte, mais vous pourrez modifier le script ultérieurement pour inclure des fichiers texte qui existent déjà.
Fichier zipFichier = Nouveau Fichier("FichierZippé.zip");
EntréeZip[] EntréesZip = Nouveau EntréeZip[] {Nouveau ZipEntry("zipFile1.txt"),
Nouveau ZipEntry("zipFile2.txt"), Nouveau ZipEntry("zipFile3.txt")} ; - Créez le flux de sortie zip pour écrire des données dans le fichier zip.
ZipOutputStream out = Nouveau ZipSortieFlux(Nouveau FileOutputStream (zipFile));
- Ajoutez chaque fichier au dossier zip et fermez le flux.
pour (ZipEntry zipEntry: zipEntry) {
out.putNextEntry (zipEntry);StringBuilder qqn = Nouveau StringBuilder();
sb.append("Contenu dans le fichier texte");octet[] données = sb.toString().getBytes();
out.write (données, 0, data.length);
out.closeEntry();
}out.close();
- Re-compiler et exécuter le programme en utilisant le javac et Java commandes. Vous verrez le nouveau dossier zip apparaître dans votre répertoire de fichiers.
Automatiser des tâches simples avec Java
Vous pouvez utiliser un script pour effectuer des tâches répétitives du gestionnaire de fichiers par programmation. Ces tâches incluent l'accès, la copie, le déplacement, la suppression et la compression des fichiers.
Une autre façon d'automatiser les tâches répétitives consiste à utiliser des commandes système dans un fichier de script. Sous Linux et macOS, ces fichiers sont appelés scripts shell, tandis que Windows les appelle scripts batch.