Postoji mnogo zadataka koji se ponavljaju koje ćete možda morati dovršiti s vremena na vrijeme. Jedan primjer je ako trebate redovito mijenjati datoteke na vašem lokalnom računalu. Te radnje mogu uključivati ​​kopiranje, premještanje, brisanje ili arhiviranje datoteka.

Umjesto da ručno dovršavate te zadatke koji se ponavljaju, možete ih automatizirati pomoću programa. To možete učiniti s jednom datotekom skripte, koristeći jedan od mnogih dostupnih programskih jezika, kao što je Java.

Kako postaviti Java aplikaciju

Prvo, uvjerite se da imate Oracleov Java SE razvojni komplet instaliran. Zatim izradite jednostavnu Java konzolnu aplikaciju:

  1. Napravite datoteku bilo gdje na vašem računalu pod nazivom SimpleScript.java.
  2. Otvorite datoteku u uređivaču teksta ili IDE.
  3. Na vrhu datoteke uvezite klasu IOException. To će vam omogućiti rukovanje iznimkama koje se odnose na datoteku ili IO kada pokušavate izvršiti određene funkcije, poput kopiranja datoteke.
    uvoz java.io. IOException;
  4. U nastavku dodajte
    instagram viewer
    glavna Java klasa i glavni metoda. Glavna metoda će se pokrenuti kada pokrenete aplikaciju. Za sada samo ispišite poruku kako biste bili sigurni da program radi ispravno. Nakon toga možete zamijeniti sadržaj glavne funkcije s bilo kojim od sljedećih primjera kako biste ih testirali.
    razredaSimpleScript{ 
    javnoststatičkiponištitiglavni(String args[])baca IOException {
    System.out.println("Jednostavna konzolna aplikacija");
    }
    }
  5. Da biste pokrenuli skriptu, započnite korištenjem naredbenog retka za navigaciju do lokacije vaše java datoteke. Na primjer, ako ste datoteku pohranili na radnu površinu, naredba bi bila:
    CD Radna površina
  6. Spremite datoteku i upotrijebite javac naredbu za njegovo sastavljanje. Svaki put kada unesete izmjene u datoteku, morat ćete je ponovno kompajlirati s javac.
    javac SimpleScript.java
  7. Pokrenite aplikaciju:
    java SimpleScript

Kako pristupiti lokalnim datotekama na vašem računalu

Možete koristiti klasu File za programski pristup datotekama u direktoriju.

  1. Stvorite novu mapu pod nazivom Novi imenik, u istom direktoriju kao i vaša java datoteka. Napravite neke datoteke unutar njega—mogu biti prazne tekstualne datoteke ako želite.
  2. Na vrhu svoje Java aplikacije uvezite klasu File. To će vam omogućiti pristup određenim metodama i drugim funkcijama koje se odnose na OS datoteke i direktorije.
    uvoz java.io. Datoteka;
  3. Izradite novi objekt datoteke koristeći relativni put do vaše nove mape.
    Direktorij datoteka = novi Datoteka("Novi imenik");
  4. Koristite funkciju listFiles() za pristup popisu svih datoteka unutar tog direktorija.
    Datoteka[] listFiles = direktorij.listDatoteka();

    za (Datoteka: listOfFiles) {
    System.out.println (datoteka);
    }

  5. Ponovno kompajlirajte i pokrenite program koristeći javac i Java naredbe.

Kako kopirati datoteke na drugu lokaciju

Postoji više načina na koje možete kopirati datoteke. Uobičajeni način kopiranja datoteka (osobito prije Java 7 i paketa java.nio.file) je korištenje klasa FileInputStream ili FileOutputStream.

  • The FileInputStream class omogućuje vam otvaranje ulaznog toka za čitanje bajtova iz datoteke.
  • The FileOutputStream class omogućuje vam otvaranje izlaznog toka za pisanje bajtova u datoteku.

Prilikom kopiranja datoteka, ideja je otvoriti ulazni i izlazni tok. Koristeći te streamove, pročitat ćete bajtove datoteke na izvornoj lokaciji, a zatim zapisati te bajtove na novo mjesto.

Ovaj primjer će koristiti noviju implementaciju za kopiranje datoteka, korištenjem funkcije copy() iz klase Files paketa java.nio.file. Da biste koristili paket java.nio.file, morate imati instaliranu Java 7 ili noviju verziju.

  1. Na vrhu datoteke uvezite klase File i Path iz paketa java.nio.file.
    uvoz java.nio.file. Datoteke;
    uvoz java.nio.file. Staze;
  2. Dodajte novu datoteku pod nazivom FileToCopy.txt u istom direktoriju kao i vaša java datoteka. U funkciji main() deklarirajte relativni put do te datoteke.
    String copySource = "FileToCopy.txt"; 
  3. Stvorite novu mapu pod nazivom Nova mapa, za kopiranje datoteke. Dodajte relativni put do odredišta u funkciju main().
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Upotrijebite metodu copy() za kopiranje datoteke iz izvora na odredište.
    probati {
    Files.copy (Putevi.get (copySource), Paths.get (copyDestination));
    } ulov(Iznimka e) {
    System.out.println("Ne mogu kopirati datoteku sa specifikacijama u: " + copyDestination
    + ". Ček ako mapa ili datoteka već postoji.");
    }
  5. Ponovno kompajlirajte i pokrenite program koristeći javac i Java naredbe.
  6. Otvorite novu mapu kako biste potvrdili da je program kopirao vašu datoteku.

Kako premjestiti datoteke ili mape

Možete premjestiti datoteke ili mape pomoću potez() funkcija u klasi Files, koja je također dio paketa java.nio.file.

  1. Stvorite novu mapu pod nazivom DirectoryToMove u istoj mapi kao i vaša Java datoteka.
  2. Napravite drugu mapu pod nazivom Novi imenik u istoj mapi. Ovo je mjesto gdje će program premjestiti izvornu mapu.
  3. Napravite objekte datoteke za direktorij koji želite premjestiti i mjesto na koje ga želite premjestiti:
    File moveSource = novi Datoteka("DirectoryToMove");
    File moveDestination = novi Datoteka("NewDirectory/DirectoryToMove");
  4. Koristiti Files.move() metoda za premještanje datoteke s izvora na odredište:
    probati {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("Imenik je uspješno premješten.");
    } ulov (IOException ex) {
    ex.printStackTrace();
    }
  5. Ponovno kompajlirajte i pokrenite program koristeći javac i Java naredbe.
  6. Otvorite mapu NewDirectory da vidite da je mapa "DirectoryToMove" sada unutra.

Kako izbrisati datoteku

Možete koristiti izbrisati() metoda iz klase File za brisanje određene datoteke.

  1. Napravite datoteku pod nazivom FileToDelete.txt. Spremite datoteku u istu mapu kao i vaša Java aplikacija.
  2. Napravite novi objekt datoteke za datoteku koju želite izbrisati. Zatim upotrijebite njegovu metodu delete() za brisanje datoteke. Metoda delete vraća vrijednost true ili false, ovisno o tome je li brisanje bilo uspješno.
    Datoteka fileToDelete = novi Datoteka("FileToDelete.txt");

    ako (fileToDelete.delete()) {
    System.out.println("Datoteka je uspješno izbrisana.");
    } drugo {
    System.out.println("Nije moguće izbrisati datoteku.");
    }

Kako zip datoteke

Postoji mnogo načina na koje možete stvoriti zip arhivu koji sadrži nekoliko komprimiranih datoteka. Ovaj primjer će koristiti ZipOutputStream i ZipEntry razreda.

  1. Uvezite potrebne klase ZipOutputStream, ZipEntry i FileOutputStream na vrh datoteke.
    uvoz java.util.zip. ZipOutputStream;
    uvoz java.util.zip. ZipEntry;
    uvoz java.io. FileOutputStream;
  2. Napravite zip datoteku i popis zipEntry objekata koji predstavljaju tekstualne datoteke koje želite komprimirati. Ovaj primjer će generirati nove tekstualne datoteke, ali kasnije možete izmijeniti skriptu kako biste uključili tekstualne datoteke koje već postoje.
    Datoteka zipFile = novi Datoteka("ZippedFile.zip");
    ZipEntry[] zipEntries = novi ZipEntry[] {novi ZipEntry("zipFile1.txt"),
    novi ZipEntry("zipFile2.txt"), novi ZipEntry("zipFile3.txt")};
  3. Stvorite zip izlazni tok za pisanje podataka u zip datoteku.
    ZipOutputStream out = novi ZipOutputStream(novi FileOutputStream (zipFile));
  4. Dodajte svaku datoteku u zip mapu i zatvorite stream.
    za (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = novi StringBuilder();
    sb.append("Sadržaj unutar tekstualne datoteke");

    bajt[] podaci = sb.toString().getBytes();
    out.write (podaci, 0, data.duljina);
    out.closeEntry();
    }

    out.close();

  5. Ponovno kompajlirajte i pokrenite program koristeći javac i Java naredbe. Vidjet ćete da se nova zip mapa pojavljuje u vašem direktoriju datoteka.

Automatizacija jednostavnih zadataka s Javom

Možete koristiti skriptu za programski dovršavanje ponavljajućih zadataka upravitelja datoteka. Ti zadaci uključuju pristup, kopiranje, premještanje, brisanje i komprimiranje datoteka.

Drugi način na koji možete automatizirati zadatke koji se ponavljaju je korištenje naredbi sustava u datoteci skripte. Na Linuxu i macOS-u takve su datoteke poznate kao shell skripte, dok ih Windows naziva skupnim skriptama.