Există multe sarcini repetitive pe care poate fi necesar să le finalizați din când în când. Un exemplu este dacă trebuie să faceți în mod regulat modificări la fișierele de pe computerul local. Aceste acțiuni pot include copierea, mutarea, ștergerea sau arhivarea fișierelor.
În loc să finalizați aceste sarcini repetitive manual, le puteți automatiza folosind un program. Puteți face acest lucru cu un singur fișier script, folosind unul dintre numeroasele limbaje de programare disponibile, cum ar fi Java.
Cum se configurează aplicația Java
În primul rând, asigurați-vă că aveți Kitul de dezvoltare Java SE Oracle instalat. Apoi creați o aplicație simplă de consolă Java:
- Creați un fișier numit oriunde pe computer SimpleScript.java.
- Deschideți fișierul într-un editor de text sau IDE.
- În partea de sus a fișierului, importați clasa IOException. Acest lucru vă va permite să gestionați fișiere sau excepții legate de IO atunci când încercați să efectuați anumite funcții, cum ar fi copierea unui fișier.
import java.io. IOException;
- Mai jos, adaugă clasa principală Java si principal metodă. Metoda principală va rula când porniți aplicația. Pentru moment, imprimați doar un mesaj pentru a vă asigura că programul rulează corect. După aceasta, puteți înlocui conținutul funcției principale cu oricare dintre următoarele exemple pentru a le testa.
clasăSimpleScript{
publicstaticgolprincipal(Argumente șir[])aruncări IOException {
System.out.println(„Aplicație simplă pentru consolă”);
}
} - Pentru a rula scriptul, începeți prin a utiliza o linie de comandă pentru a naviga la locația fișierului dvs. java. De exemplu, dacă ați stocat fișierul pe desktop, comanda ar fi:
CD Desktop
- Salvați fișierul și utilizați javac comanda pentru al compila. De fiecare dată când faceți modificări la fișier, va trebui să îl compilați din nou javac.
javac SimpleScript.java
- Rulați aplicația:
Java SimpleScript
Cum să accesați fișierele locale din computerul dvs
Puteți utiliza clasa File pentru a accesa programatic fișierele dintr-un director.
- Creați un folder nou, numit NewDirectory, în același director cu fișierul dvs. java. Creați câteva fișiere în interiorul acestuia - pot fi fișiere text goale, dacă doriți.
- În partea de sus a aplicației Java, importați clasa File. Acest lucru vă va permite să accesați anumite metode și alte funcționalități legate de fișierele și directoarele OS.
import java.io. Fişier;
- Creați un nou obiect Fișier folosind calea relativă către noul dvs. folder.
Director de fișiere = nou Fișier(„NewDirectory”);
- Utilizați funcția listFiles() pentru a accesa o listă cu toate fișierele din acel director.
Fișier[] listOfFiles = directory.listFiles();
pentru (Fișier: listOfFiles) {
System.out.println (fișier);
} - Recompilați și rulați programul folosind javac și java comenzi.
Cum să copiați fișierele într-o altă locație
Există mai multe moduri în care puteți copia fișiere. O modalitate obișnuită de a copia fișiere (în special înainte de Java 7 și pachetul java.nio.file) este utilizarea claselor FileInputStream sau FileOutputStream.
- The FileInputStream clasa vă permite să deschideți un flux de intrare pentru a citi octeți dintr-un fișier.
- The FileOutputStream clasa vă permite să deschideți un flux de ieșire pentru a scrie octeți într-un fișier.
Când copiați fișiere, ideea este să deschideți un flux de intrare și ieșire. Folosind acele fluxuri, veți citi octeții fișierului în locația sursă și apoi veți scrie acești octeți în noua locație.
Acest exemplu va folosi o implementare mai nouă pentru a copia fișiere, folosind funcția copy() din clasa Fișiere a pachetului java.nio.file. Pentru a utiliza pachetul java.nio.file, trebuie să aveți instalat Java 7 sau o versiune ulterioară.
- În partea de sus a fișierului, importați clasele Fișier și Cale din pachetul java.nio.file.
import java.nio.file. Dosare;
import java.nio.file. poteci; - Adăugați un fișier nou numit FileToCopy.txt în același director cu fișierul dvs. java. În funcția main(), declarați calea relativă către acel fișier.
String copySource = "FileToCopy.txt";
- Creați un dosar nou, numit Dosar nou, pentru a copia fișierul în. Adăugați calea relativă către destinație în funcția main().
String copyDestination = "NewFolder/FileToCopy.txt";
- Utilizați metoda copy() pentru a copia fișierul de la sursă la destinație.
încerca {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} captură(Excepție e) {
System.out.println("Nu s-a putut copia fișierul cu specificații în: " + copyDestination
+ ". Verifica dacă folderul sau fișierul există deja.");
} - Recompilați și rulați programul folosind javac și java comenzi.
- Deschideți folderul nou pentru a confirma că programul v-a copiat fișierul.
Cum să mutați fișiere sau foldere
Puteți muta fișiere sau foldere folosind mutare() funcția din clasa Fișiere, care face, de asemenea, parte din pachetul java.nio.file.
- Creați un nou folder numit DirectorToMove în același folder cu fișierul Java.
- Creați un al doilea folder numit NewDirectory în același folder. Aici programul va muta folderul original.
- Creați obiecte fișier pentru directorul pe care doriți să-l mutați și locația în care doriți să-l mutați:
Fișier moveSource = nou Fișier ("DirectoryToMove");
Fișier moveDestination = nou Fișier(„NewDirectory/DirectoryToMove”); - Folosește Files.move() metoda de mutare a fișierului de la sursă la destinație:
încerca {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Directorul a fost mutat cu succes.");
} captură (excepție IOExcepție) {
ex.printStackTrace();
} - Recompilați și rulați programul folosind javac și java comenzi.
- Deschideți folderul NewDirectory pentru a vedea că folderul „DirectoryToMove” este acum în interior.
Cum să ștergeți un fișier
Puteți folosi șterge() metoda din clasa File pentru a șterge un anumit fișier.
- Creați un fișier numit FileToDelete.txt. Salvați fișierul în același folder ca aplicația Java.
- Creați un nou obiect Fișier pentru fișierul pe care doriți să îl ștergeți. Apoi, utilizați metoda sa delete() pentru a șterge fișierul. Metoda de ștergere returnează o valoare adevărată sau falsă, în funcție de dacă ștergerea a avut succes.
Fișier fileToDelete = nou Fișier(„FileToDelete.txt”);
dacă (fileToDelete.delete()) {
System.out.println("Fișierul a fost șters cu succes.");
} altfel {
System.out.println(„Nu se poate șterge fișierul.”);
}
Cum să Zip fișiere
Există multe moduri în care puteți crea o arhivă zip conţinând mai multe fişiere comprimate. Acest exemplu va folosi ZipOutputStream și ZipEntry clase.
- Importați clasele necesare ZipOutputStream, ZipEntry și FileOutputStream în partea de sus a fișierului.
import java.util.zip. ZipOutputStream;
import java.util.zip. ZipEntry;
import java.io. FileOutputStream; - Creați fișierul zip și o listă de obiecte zipEntry reprezentând fișierele text pe care doriți să le arhivați. Acest exemplu va genera fișiere text noi, dar puteți modifica scriptul mai târziu pentru a include fișiere text care există deja.
Fișier zipFile = nou Fișier ("ZippedFile.zip");
ZipEntry[] zipEntries = nou ZipEntry[] {nou ZipEntry("zipFile1.txt"),
nou ZipEntry("zipFile2.txt"), nou ZipEntry("zipFile3.txt"}); - Creați fluxul de ieșire zip pentru a scrie date în fișierul zip.
ZipOutputStream out = nou ZipOutputStream(nou FileOutputStream (zipFile));
- Adăugați fiecare fișier în folderul zip și închideți fluxul.
pentru (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = nou StringBuilder();
sb.append("Conținut din fișierul text");octet[] date = sb.toString().getBytes();
out.write (date, 0, lungimea datelor);
out.closeEntry();
}out.close();
- Recompilați și rulați programul folosind javac și java comenzi. Veți vedea că noul folder zip apare în directorul de fișiere.
Automatizarea sarcinilor simple cu Java
Puteți utiliza un script pentru a finaliza sarcini repetitive ale managerului de fișiere în mod programatic. Aceste sarcini includ accesarea, copierea, mutarea, ștergerea și arhivarea fișierelor.
Un alt mod în care puteți automatiza sarcinile repetitive este prin utilizarea comenzilor de sistem într-un fișier script. Pe Linux și macOS, astfel de fișiere sunt cunoscute ca scripturi shell, în timp ce Windows se referă la ele ca scripturi batch.