Existuje veľa opakujúcich sa úloh, ktoré možno budete musieť z času na čas dokončiť. Jedným z príkladov je, ak potrebujete pravidelne vykonávať zmeny v súboroch na lokálnom počítači. Tieto akcie môžu zahŕňať kopírovanie, presúvanie, mazanie alebo archiváciu súborov.
Namiesto manuálneho dokončovania týchto opakujúcich sa úloh ich môžete automatizovať pomocou programu. Môžete to urobiť pomocou jedného súboru skriptu pomocou jedného z mnohých dostupných programovacích jazykov, ako je napríklad Java.
Ako nastaviť aplikáciu Java
Najprv sa uistite, že máte Oracle Java SE Development Kit nainštalovaný. Potom vytvorte jednoduchú konzolovú aplikáciu Java:
- Vytvorte súbor kdekoľvek v počítači s názvom SimpleScript.java.
- Otvorte súbor v textovom editore alebo IDE.
- V hornej časti súboru importujte triedu IOException. To vám umožní spracovať výnimky súvisiace so súborom alebo IO pri pokuse o vykonanie určitých funkcií, ako je napríklad kopírovanie súboru.
importovať java.io. IOException;
- Nižšie pridajte
hlavná trieda Java a hlavné metóda. Hlavná metóda sa spustí pri spustení aplikácie. Zatiaľ stačí vytlačiť správu, aby ste sa uistili, že program beží správne. Potom môžete nahradiť obsah hlavnej funkcie ktorýmkoľvek z nasledujúcich príkladov a otestovať ich.
triedaSimpleScript{
verejnostistatickéneplatnéhlavné(Reťazcové argumenty[])hádže IOException {
System.out.println("Simple Console App");
}
} - Ak chcete spustiť skript, začnite pomocou príkazového riadka na navigáciu do umiestnenia vášho súboru java. Napríklad, ak ste súbor uložili na Pracovnú plochu, príkaz by bol:
cd Desktop
- Uložte súbor a použite javac príkaz na jeho kompiláciu. Zakaždým, keď vykonáte zmeny v súbore, budete ho musieť znova skompilovať s javac.
javac SimpleScript.java
- Spustite aplikáciu:
Java SimpleScript
Ako získať prístup k lokálnym súborom v počítači
Triedu File môžete použiť na programový prístup k súborom v adresári.
- Vytvorte nový priečinok, tzv Nový adresár, v rovnakom adresári ako váš súbor java. Vytvorte v ňom nejaké súbory – ak chcete, môžu to byť prázdne textové súbory.
- V hornej časti vašej aplikácie Java importujte triedu File. To vám umožní prístup k určitým metódam a ďalším funkciám súvisiacim so súbormi a adresármi OS.
importovať java.io. Súbor;
- Vytvorte nový objekt File pomocou relatívnej cesty k vášmu novému priečinku.
Adresár súborov = Nový Súbor ("Nový adresár");
- Pomocou funkcie listFiles() získate prístup k zoznamu všetkých súborov v tomto adresári.
Súbor[] zoznamSúborov = adresár.zoznamSúborov();
pre (Súbor súboru: listOfFiles) {
System.out.println (súbor);
} - Znova skompilujte a spustite program pomocou javac a java príkazy.
Ako skopírovať súbory na iné miesto
Súbory môžete kopírovať viacerými spôsobmi. Bežným spôsobom kopírovania súborov (najmä pred verziou Java 7 a balíkom java.nio.file) je použitie tried FileInputStream alebo FileOutputStream.
- The FileInputStream trieda vám umožňuje otvoriť vstupný tok na čítanie bajtov zo súboru.
- The FileOutputStream trieda vám umožňuje otvoriť výstupný prúd na zapisovanie bajtov do súboru.
Pri kopírovaní súborov ide o otvorenie vstupného a výstupného toku. Pomocou týchto prúdov prečítate bajty súboru v zdrojovom umiestnení a potom tieto bajty zapíšete do nového umiestnenia.
Tento príklad použije novšiu implementáciu na kopírovanie súborov pomocou funkcie copy() z triedy Files balíka java.nio.file. Ak chcete použiť balík java.nio.file, musíte mať nainštalovanú Java 7 alebo vyššiu.
- V hornej časti súboru importujte triedy File a Path z balíka java.nio.file.
importovať java.nio.file. Súbory;
importovať java.nio.file. Cesty; - Pridajte nový súbor s názvom FileToCopy.txt v rovnakom adresári ako váš java súbor. Vo funkcii main() deklarujte relatívnu cestu k tomuto súboru.
String copySource = "FileToCopy.txt";
- Vytvorte nový priečinok s názvom Nový priečinok, na skopírovanie súboru. Pridajte relatívnu cestu k cieľu vo funkcii main().
String copyDestination = "NewFolder/FileToCopy.txt";
- Pomocou metódy copy() skopírujte súbor z jeho zdroja do cieľa.
skúste {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} chytiť(Výnimka e) {
System.out.println("Nepodarilo sa skopírovať súbor so špecifikáciami do: " + copyDestination
+ ". Skontrolujte ak priečinok alebo súbor už existuje.");
} - Znova skompilujte a spustite program pomocou javac a java príkazy.
- Otvorte nový priečinok a potvrďte, že program skopíroval váš súbor.
Ako presúvať súbory alebo priečinky
Súbory alebo priečinky môžete presúvať pomocou presunúť () funkciu v triede Files, ktorá je tiež súčasťou balíka java.nio.file.
- Vytvorte nový priečinok s názvom DirectoryToMove v rovnakom priečinku ako váš súbor Java.
- Vytvorte druhý priečinok s názvom Nový adresár v rovnakom priečinku. To je miesto, kam program presunie pôvodný priečinok.
- Vytvorte objekty File pre adresár, ktorý chcete presunúť, a umiestnenie, kam ho chcete presunúť:
Súbor moveSource = Nový Súbor("AdresárToMove");
Súbor moveDestination = Nový Súbor("NovýAdresár/AdresárToMove"); - Použi Files.move() metóda presunu súboru zo zdroja do cieľa:
skúste {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Adresár úspešne presunutý.");
} chytiť (exception IOException) {
ex.printStackTrace();
} - Znova skompilujte a spustite program pomocou javac a java príkazy.
- Otvorte priečinok NewDirectory, aby ste videli, že priečinok "DirectoryToMove" je teraz vo vnútri.
Ako odstrániť súbor
Môžete použiť vymazať () z triedy File na odstránenie konkrétneho súboru.
- Vytvorte súbor s názvom FileToDelete.txt. Uložte súbor do rovnakého priečinka ako vaša Java aplikácia.
- Vytvorte nový objekt File pre súbor, ktorý chcete odstrániť. Potom použite jeho metódu delete() na odstránenie súboru. Metóda delete vráti hodnotu true alebo false v závislosti od toho, či bolo odstránenie úspešné.
Súbor fileToDelete = Nový Súbor("FileToDelete.txt");
ak (fileToDelete.delete()) {
System.out.println("Súbor bol úspešne odstránený.");
} inak {
System.out.println("Súbor sa nedá odstrániť.");
}
Ako komprimovať súbory
Existuje mnoho spôsobov, ako môžete vytvoriť archív zip obsahuje niekoľko komprimovaných súborov. V tomto príklade sa použije ZipOutputStream a ZipEntry triedy.
- Importujte potrebné triedy ZipOutputStream, ZipEntry a FileOutputStream v hornej časti súboru.
importovať java.util.zip. ZipOutputStream;
importovať java.util.zip. ZipEntry;
importovať java.io. FileOutputStream; - Vytvorte zip súbor a zoznam objektov zipEntry reprezentujúcich textové súbory, ktoré chcete zazipovať. Tento príklad vygeneruje nové textové súbory, ale skript môžete neskôr upraviť tak, aby obsahoval textové súbory, ktoré už existujú.
Súbor zipFile = Nový Súbor("ZippedFile.zip");
ZipEntry[] zipEntries = Nový ZipEntry[] {Nový ZipEntry("zipFile1.txt"),
Nový ZipEntry("zipFile2.txt"), Nový ZipEntry("zipFile3.txt")}; - Vytvorte výstupný tok zip na zapisovanie údajov do súboru zip.
ZipOutputStream out = Nový ZipOutputStream(Nový FileOutputStream (zipFile));
- Pridajte každý súbor do priečinka zip a zatvorte stream.
pre (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = Nový StringBuilder();
sb.append("Obsah vnútri textového súboru");byte[] data = sb.toString().getBytes();
out.write (údaje, 0, údaje.dĺžka);
out.closeEntry();
}out.close();
- Znova skompilujte a spustite program pomocou javac a java príkazy. Uvidíte, že sa v adresári súborov objaví nový priečinok zip.
Automatizácia jednoduchých úloh pomocou Java
Na dokončenie opakujúcich sa úloh správcu súborov programovo môžete použiť skript. Tieto úlohy zahŕňajú prístup k súborom, ich kopírovanie, presúvanie, mazanie a komprimovanie.
Ďalším spôsobom, ako automatizovať opakujúce sa úlohy, je použitie systémových príkazov v súbore skriptu. V systémoch Linux a macOS sú takéto súbory známe ako skripty shell, zatiaľ čo systém Windows ich označuje ako dávkové skripty.