Yra daug pasikartojančių užduočių, kurias kartais gali tekti atlikti. Vienas iš pavyzdžių, jei jums reikia reguliariai keisti failus vietiniame kompiuteryje. Šie veiksmai gali apimti failų kopijavimą, perkėlimą, trynimą ar archyvavimą.
Užuot atlikę šias pasikartojančias užduotis rankiniu būdu, galite jas automatizuoti naudodami programą. Tai galite padaryti naudodami vieną scenarijaus failą, naudodami vieną iš daugelio galimų programavimo kalbų, pvz., Java.
Kaip nustatyti „Java“ programą
Pirma, įsitikinkite, kad turite „Oracle“ Java SE kūrimo rinkinys įdiegta. Tada sukurkite paprastą Java konsolės programą:
- Kurkite failą bet kurioje kompiuterio vietoje, vadinamą SimpleScript.java.
- Atidarykite failą teksto rengyklėje arba IDE.
- Failo viršuje importuokite IOException Class. Tai leis tvarkyti su failais ar IO susijusias išimtis, kai bandysite atlikti tam tikras funkcijas, pvz., kopijuoti failą.
importuoti java.io. IOException;
- Žemiau pridėkite pagrindinė Java klasė ir pagrindinis metodas. Pagrindinis metodas veiks, kai paleisite programą. Kol kas tiesiog atspausdinkite pranešimą, kad įsitikintumėte, jog programa veikia tinkamai. Po to pagrindinės funkcijos turinį galite pakeisti bet kuriuo iš toliau pateiktų pavyzdžių, kad galėtumėte juos išbandyti.
klasėSimpleScript{
viešasstatinistuštumapagrindinis(Styginių args[])metimai IO išimtis {
System.out.println ("Paprasta konsolės programa");
}
} - Norėdami paleisti scenarijų, pradėkite naudodami komandinę eilutę, kad pereitumėte į „Java“ failo vietą. Pavyzdžiui, jei failą išsaugojote darbalaukyje, komanda būtų tokia:
cd Darbalaukis
- Išsaugokite failą ir naudokite javac komandą jį sudaryti. Kiekvieną kartą, kai keičiate failą, turėsite jį iš naujo sukompiliuoti javac.
javac SimpleScript.java
- Paleiskite programą:
java SimpleScript
Kaip pasiekti vietinius failus kompiuteryje
Failų klasę galite naudoti norėdami programiškai pasiekti failus kataloge.
- Sukurkite naują aplanką, vadinamą NewDirectory, tame pačiame kataloge kaip ir jūsų Java failas. Sukurkite jame keletą failų – jei norite, jie gali būti tušti tekstiniai failai.
- „Java“ programos viršuje importuokite Failo klasę. Tai leis pasiekti tam tikrus metodus ir kitas funkcijas, susijusias su OS failais ir katalogais.
importuoti java.io. Failas;
- Sukurkite naują failo objektą naudodami santykinį kelią į naują aplanką.
Failų katalogas = naujas Failas ("NewDirectory");
- Naudokite funkciją listFiles() norėdami pasiekti visų tame kataloge esančių failų sąrašą.
Failas[] listOfFiles = katalogas.sąrašasFailai();
dėl (Failo failas: listOfFiles) {
System.out.println (failas);
} - Iš naujo sukompiliuokite ir paleiskite programą naudodami javac ir java komandas.
Kaip nukopijuoti failus į kitą vietą
Failus galite kopijuoti keliais būdais. Įprastas būdas kopijuoti failus (ypač prieš Java 7 ir java.nio.file paketą) yra naudoti FileInputStream arba FileOutputStream klases.
- The FileInputStream klasė leidžia atidaryti įvesties srautą, kad galėtumėte skaityti baitus iš failo.
- The FileOutputStream klasė leidžia atidaryti išvesties srautą ir įrašyti baitus į failą.
Kopijuojant failus, idėja yra atidaryti įvesties ir išvesties srautą. Naudodami tuos srautus, perskaitysite failo baitus šaltinio vietoje ir įrašysite tuos baitus į naują vietą.
Šiame pavyzdyje failams kopijuoti bus naudojamas naujesnis diegimas, naudojant funkciją copy() iš java.nio.file paketo failų klasės. Kad galėtumėte naudoti paketą java.nio.file, turite turėti įdiegtą Java 7 ar naujesnę versiją.
- Failo viršuje importuokite Failo ir Kelio klases iš java.nio.file paketo.
importuoti java.nio.failas. Failai;
importuoti java.nio.failas. Takai; - Pridėkite naują failą pavadinimu FileToCopy.txt tame pačiame kataloge kaip ir jūsų java failas. Funkcijoje main() nurodykite santykinį to failo kelią.
String copySource = "FileToCopy.txt";
- Sukurkite naują aplanką, vadinamą Naujas aplankas, norėdami nukopijuoti failą į. Funkcijoje main() pridėkite santykinį kelią iki paskirties vietos.
String copyDestination = "NewFolder/FileToCopy.txt";
- Norėdami nukopijuoti failą iš šaltinio į paskirties vietą, naudokite kopijavimo () metodą.
bandyti {
Files.copy (Paths.get (copySource), Paths.get (copyDestination));
} sugauti(e išimtis) {
System.out.println("Nepavyko nukopijuoti specifikacijų failo į: " + copyDestination
+ ". Patikrinti jeigu aplankas arba failas jau yra.");
} - Iš naujo sukompiliuokite ir paleiskite programą naudodami javac ir java komandas.
- Atidarykite naują aplanką, kad patvirtintumėte, jog programa nukopijavo failą.
Kaip perkelti failus ar aplankus
Failus ar aplankus galite perkelti naudodami judėti () funkcija Failų klasėje, kuri taip pat yra java.nio.file paketo dalis.
- Sukurkite naują aplanką pavadinimu DirectoryToMove tame pačiame aplanke kaip ir jūsų Java failas.
- Sukurkite antrą aplanką pavadinimu NewDirectory tame pačiame aplanke. Čia programa perkels pradinį aplanką.
- Sukurkite failų objektus katalogui, kurį norite perkelti, ir vietą, į kurią norite perkelti:
Failas moveSource = naujas Failas („DirectoryToMove“);
Failas perkeltiPaskirtis = naujas Failas ("NewDirectory/DirectoryToMove"); - Naudoti Files.move() būdas perkelti failą iš šaltinio į paskirties vietą:
bandyti {
Files.move (moveSource.toPath(), moveDestination.toPath());
System.out.println("Katalogas sėkmingai perkeltas.");
} sugauti (IOException ex) {
pvz.printStackTrace();
} - Iš naujo sukompiliuokite ir paleiskite programą naudodami javac ir java komandas.
- Atidarykite aplanką „NewDirectory“, kad pamatytumėte, jog aplankas „DirectoryToMove“ dabar yra viduje.
Kaip ištrinti failą
Galite naudoti Ištrinti() metodas iš Failų klasės, kad pašalintumėte tam tikrą failą.
- Sukurkite failą pavadinimu FileToDelete.txt. Išsaugokite failą tame pačiame aplanke kaip ir jūsų Java programa.
- Sukurkite naują failo objektą failui, kurį norite ištrinti. Tada naudokite jo delete() metodą, kad ištrintumėte failą. Ištrynimo metodas grąžina teisingą arba klaidingą reikšmę, atsižvelgiant į tai, ar ištrynimas buvo sėkmingas.
Failas fileToDelete = naujas Failas ("FileToDelete.txt");
jeigu (fileToDelete.delete()) {
System.out.println("Failas sėkmingai ištrintas.");
} Kitas {
System.out.println("Nepavyko ištrinti failo.");
}
Kaip supakuoti failus
Yra daug būdų, kaip sukurti ZIP archyvą kuriame yra keli suspausti failai. Šiame pavyzdyje bus naudojamas ZipOutputStream ir ZipEntry klases.
- Importuokite reikiamas ZipOutputStream, ZipEntry ir FileOutputStream klases failo viršuje.
importuoti java.util.zip. ZipOutputStream;
importuoti java.util.zip. ZipEntry;
importuoti java.io. FileOutputStream; - Sukurkite zip failą ir zipEntry objektų, atstovaujančių tekstiniams failams, kuriuos norite supakuoti, sąrašą. Šiame pavyzdyje bus generuojami nauji tekstiniai failai, bet vėliau galėsite modifikuoti scenarijų, kad įtrauktumėte jau esamus tekstinius failus.
Failas zipFile = naujas Failas ("ZippedFile.zip");
ZipEntry[] zipEntries = naujas ZipEntry[] {naujas ZipEntry("zipFile1.txt"),
naujas ZipEntry("zipFile2.txt"), naujas ZipEntry("zipFile3.txt")}; - Sukurkite ZIP išvesties srautą, kad galėtumėte įrašyti duomenis į ZIP failą.
ZipOutputStream out = naujas ZipOutputStream(naujas FileOutputStream (zipFile));
- Pridėkite kiekvieną failą į ZIP aplanką ir uždarykite srautą.
dėl (ZipEntry zipEntry: zipEntries) {
out.putNextEntry (zipEntry);StringBuilder sb = naujas StringBuilder();
sb.append("Turinys teksto faile");baitas[] duomenys = sb.toString().getBytes();
out.write (duomenys, 0, duomenys.ilgis);
out.closeEntry();
}out.close();
- Iš naujo sukompiliuokite ir paleiskite programą naudodami javac ir java komandas. Pamatysite, kad failų kataloge pasirodys naujas ZIP aplankas.
Paprastų užduočių automatizavimas naudojant „Java“.
Galite naudoti scenarijų, kad programiškai atliktumėte pasikartojančias failų tvarkyklės užduotis. Šios užduotys apima failų prieigą, kopijavimą, perkėlimą, trynimą ir suglaudinimą.
Kitas būdas automatizuoti pasikartojančias užduotis yra naudoti sistemos komandas scenarijaus faile. „Linux“ ir „MacOS“ sistemose tokie failai yra žinomi kaip apvalkalo scenarijai, o „Windows“ vadina juos paketiniais scenarijais.