Ci sono molte attività ripetitive che potresti dover completare di tanto in tanto. Un esempio è se è necessario apportare regolarmente modifiche ai file sul computer locale. Queste azioni possono includere la copia, lo spostamento, l'eliminazione o l'archiviazione di file.
Invece di completare queste attività ripetitive manualmente, puoi automatizzarle utilizzando un programma. Puoi farlo con un unico file di script, utilizzando uno dei tanti linguaggi di programmazione disponibili, come Java.
Come configurare l'applicazione Java
Per prima cosa, assicurati di averlo Java SE Development Kit di Oracle installato. Quindi crea una semplice applicazione console Java:
- Crea un file ovunque sul tuo computer chiamato SimpleScript.java.
- Apri il file in un editor di testo o IDE.
- Nella parte superiore del file, importa la classe IOException. Ciò ti consentirà di gestire le eccezioni relative a file o IO quando tenti di eseguire determinate funzioni, come la copia di un file.
importare java.io. IOException;
- Sotto, aggiungi la classe Java principale e il principale metodo. Il metodo principale verrà eseguito all'avvio dell'applicazione. Per ora, stampa un messaggio per assicurarti che il programma funzioni correttamente. Dopodiché, puoi sostituire il contenuto della funzione principale con uno qualsiasi dei seguenti esempi per testarli.
classeSimpleScript{
pubblicostaticovuotoprincipale(Argomenti stringa[])lancia IOException {
System.out.println("App console semplice");
}
} - Per eseguire lo script, inizia utilizzando una riga di comando per accedere alla posizione del tuo file java. Ad esempio, se hai archiviato il tuo file sul desktop, il comando sarebbe:
CD Desktop
- Salva il file e usa il Giava comando per compilarlo. Ogni volta che apporti modifiche al file, dovrai ricompilarlo Giava.
javac SimpleScript.java
- Esegui l'applicazione:
java SimpleScript
Come accedere ai file locali nel tuo computer
È possibile utilizzare la classe File per accedere a livello di codice ai file in una directory.
- Crea una nuova cartella, chiamata Nuova Directory, nella stessa directory del tuo file java. Crea alcuni file al suo interno: possono essere file di testo vuoti, se lo desideri.
- Nella parte superiore della tua applicazione Java, importa la classe File. Ciò ti consentirà di accedere a determinati metodi e altre funzionalità relative ai file e alle directory del sistema operativo.
importare java.io. File;
- Crea un nuovo oggetto File usando il percorso relativo alla tua nuova cartella.
Directory di file = nuovo File("Nuova Directory");
- Utilizzare la funzione listFiles() per accedere a un elenco di tutti i file all'interno di quella directory.
File[] listOfFiles = directory.listFiles();
per (File file: listOfFiles) {
System.out.println (file);
} - Ricompila ed esegui il programma usando il Giava e Giava comandi.
Come copiare i file in un'altra posizione
Esistono diversi modi per copiare i file. Un modo comune per copiare i file (soprattutto prima di Java 7 e del pacchetto java.nio.file) consiste nell'usare le classi FileInputStream o FileOutputStream.
- Il FileInputStream class consente di aprire un flusso di input per leggere i byte da un file.
- Il FileOutputStream class consente di aprire un flusso di output per scrivere byte in un file.
Quando si copiano i file, l'idea è di aprire un flusso di input e output. Usando questi flussi, leggerai i byte del file nella posizione di origine, quindi scriverai quei byte nella nuova posizione.
Questo esempio utilizzerà un'implementazione più recente per copiare i file, utilizzando la funzione copy() dalla classe Files del pacchetto java.nio.file. Per utilizzare il pacchetto java.nio.file, è necessario che sia installato Java 7 o versione successiva.
- Nella parte superiore del file, importa le classi File e Path dal pacchetto java.nio.file.
importare java.nio.file. File;
importare java.nio.file. Percorsi; - Aggiungi un nuovo file chiamato FileToCopy.txt nella stessa directory del tuo file java. Nella funzione main(), dichiara il percorso relativo a quel file.
String copySource = "FileToCopy.txt";
- Crea una nuova cartella, chiamata Nuova cartella, in cui copiare il file. Aggiungi il percorso relativo alla destinazione nella funzione main().
String copyDestination = "NewFolder/FileToCopy.txt";
- Utilizzare il metodo copy() per copiare il file dalla sua origine alla destinazione.
Tentativo {
Files.copy (Percorsi.get (copySource), Paths.get (copyDestination));
} presa(Eccezione e) {
System.out.println("Impossibile copiare il file delle specifiche in: " + copyDestination
+ ". Dai un'occhiata Se la cartella o il file esiste già.");
} - Ricompila ed esegui il programma usando il Giava e Giava comandi.
- Apri la Nuova cartella per confermare che il programma ha copiato il tuo file.
Come spostare file o cartelle
È possibile spostare file o cartelle utilizzando il muoversi() funzione nella classe Files, che fa anche parte del pacchetto java.nio.file.
- Crea una nuova cartella chiamata DirectoryToMove nella stessa cartella del tuo file Java.
- Crea una seconda cartella chiamata Nuova Directory nella stessa cartella. Qui è dove il programma sposterà la cartella originale.
- Crea oggetti File per la directory che vuoi spostare e la posizione in cui vuoi spostarlo:
File moveSource = nuovo File("DirectoryDaSpostare");
File moveDestination = nuovo File("NuovaDirectory/DirectoryDaSpostare"); - Utilizzare il Files.move() metodo per spostare il file dall'origine alla destinazione:
Tentativo {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Directory spostata con successo.");
} presa (IOException ex) {
es.printStackTrace();
} - Ricompila ed esegui il programma usando il Giava e Giava comandi.
- Apri la cartella NewDirectory per vedere che la cartella "DirectoryToMove" è ora all'interno.
Come eliminare un file
Puoi usare il Elimina() metodo dalla classe File per eliminare un file particolare.
- Crea un file chiamato FileToDelete.txt. Salva il file nella stessa cartella della tua applicazione Java.
- Crea un nuovo oggetto File per il file che desideri eliminare. Quindi, usa il suo metodo delete() per eliminare il file. Il metodo delete restituisce un valore true o false, a seconda che l'eliminazione sia riuscita.
File fileToDelete = nuovo File("FileToDelete.txt");
Se (fileToDelete.delete()) {
System.out.println("File eliminato con successo.");
} altro {
System.out.println("Impossibile eliminare il file.");
}
Come comprimere i file
Esistono molti modi per creare un archivio zip contenente diversi file compressi. Questo esempio utilizzerà il ZipOutputStream e ZipEntry classi.
- Importa le classi ZipOutputStream, ZipEntry e FileOutputStream necessarie nella parte superiore del file.
importare java.util.zip. ZipOutputStream;
importare java.util.zip. ZipEntry;
importare java.io. FileOutputStream; - Crea il file zip e un elenco di oggetti zipEntry che rappresentano i file di testo che desideri comprimere. Questo esempio genererà nuovi file di testo, ma puoi modificare lo script in un secondo momento per includere file di testo già esistenti.
File zipFile = nuovo File("FileZip.zip");
ZipEntry[] zipEntries = nuovo ZipEntry[] {nuovo ZipEntry("zipFile1.txt"),
nuovo ZipEntry("zipFile2.txt"), nuovo ZipEntry("zipFile3.txt")}; - Crea il flusso di output zip per scrivere i dati nel file zip.
ZipOutputStream in uscita = nuovo ZipOutputStream(nuovo FileOutputStream (zipFile));
- Aggiungi ogni file alla cartella zip e chiudi lo stream.
per (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = nuovo StringBuilder();
sb.append("Contenuto all'interno del file di testo");byte[] dati = sb.toString().getBytes();
out.write (dati, 0, lunghezza.dati);
out.closeEntry();
}out.close();
- Ricompila ed esegui il programma usando il Giava e Giava comandi. Vedrai apparire la nuova cartella zip nella directory dei file.
Automatizzare attività semplici con Java
È possibile utilizzare uno script per completare le attività ripetitive di gestione dei file a livello di codice. Queste attività includono l'accesso, la copia, lo spostamento, l'eliminazione e la compressione dei file.
Un altro modo per automatizzare le attività ripetitive consiste nell'usare i comandi di sistema in un file di script. Su Linux e macOS, tali file sono noti come script di shell, mentre Windows li fa riferimento come script batch.