Det er mange repeterende oppgaver som du kanskje må fullføre fra tid til annen. Et eksempel er hvis du regelmessig trenger å gjøre endringer i filer på din lokale datamaskin. Disse handlingene kan inkludere kopiering, flytting, sletting eller arkivering av filer.

I stedet for å fullføre disse repeterende oppgavene manuelt, kan du automatisere dem ved hjelp av et program. Du kan gjøre dette med en enkelt skriptfil, ved å bruke et av de mange tilgjengelige programmeringsspråkene, for eksempel Java.

Hvordan sette opp Java-applikasjonen

Først må du sørge for at du har Oracles Java SE Development Kit installert. Lag deretter en enkel Java-konsollapplikasjon:

  1. Lag en fil hvor som helst på datamaskinen din som heter SimpleScript.java.
  2. Åpne filen i et tekstredigeringsprogram eller IDE.
  3. Importer IOException-klassen øverst i filen. Dette vil tillate deg å håndtere fil- eller IO-relaterte unntak når du prøver å utføre visse funksjoner, som å kopiere en fil.
    import java.io. IOException;
  4. Nedenfor, legg til
    instagram viewer
    den viktigste Java-klassen og hoved- metode. Hovedmetoden kjøres når du starter programmet. For nå er det bare å skrive ut en melding for å sikre at programmet kjører riktig. Etter dette kan du erstatte innholdet i hovedfunksjonen med et av de følgende eksemplene for å teste dem.
    klasseSimpleScript{ 
    offentligstatisktomromhoved-(String args[])kaster IOException {
    System.out.println("Simple Console App");
    }
    }
  5. For å kjøre skriptet, start med å bruke en kommandolinje for å navigere til plasseringen av Java-filen. For eksempel, hvis du har lagret filen på skrivebordet, vil kommandoen være:
    cd Skrivebord
  6. Lagre filen, og bruk javac kommando for å kompilere den. Hver gang du gjør endringer i filen, må du kompilere den på nytt med javac.
    javac SimpleScript.java
  7. Kjør applikasjonen:
    java SimpleScript

Slik får du tilgang til lokale filer på datamaskinen din

Du kan bruke Fil-klassen til å programmere tilgang til filer i en katalog.

  1. Opprett en ny mappe, kalt Ny katalog, i samme katalog som Java-filen. Lag noen filer i den – de kan være tomme tekstfiler hvis du vil.
  2. Importer Fil-klassen øverst i Java-applikasjonen. Dette vil gi deg tilgang til visse metoder og annen funksjonalitet relatert til OS-filer og kataloger.
    import java.io. Fil;
  3. Opprett et nytt filobjekt ved å bruke den relative banen til den nye mappen.
    Filkatalog = ny File("NewDirectory");
  4. Bruk listFiles()-funksjonen for å få tilgang til en liste over alle filene i den katalogen.
    File[] listOfFiles = directory.listFiles();

    til (Filfil: listOfFiles) {
    System.out.println (fil);
    }

  5. Kompiler på nytt og kjør programmet ved å bruke javac og java kommandoer.

Hvordan kopiere filer til et annet sted

Det er flere måter du kan kopiere filer på. En vanlig måte å kopiere filer på (spesielt før Java 7 og java.nio.file-pakken), er å bruke klassene FileInputStream eller FileOutputStream.

  • De FileInputStream klasse lar deg åpne en inngangsstrøm for å lese bytes fra en fil.
  • De FileOutputStream klasse lar deg åpne en utdatastrøm for å skrive byte til en fil.

Når du kopierer filer, er ideen å åpne en input- og outputstrøm. Ved å bruke disse strømmene vil du lese bytene til filen på kildeplasseringen, og deretter skrive disse bytene til den nye plasseringen.

Dette eksemplet vil bruke en nyere implementering for å kopiere filer, ved å bruke copy()-funksjonen fra Files-klassen til java.nio.file-pakken. For å bruke java.nio.file-pakken må du ha Java 7 eller høyere installert.

  1. Øverst i filen importerer du File- og Path-klassene fra java.nio.file-pakken.
    import java.nio.fil. filer;
    import java.nio.fil. stier;
  2. Legg til en ny fil kalt FileToCopy.txt i samme katalog som Java-filen. I main()-funksjonen, erklærer du den relative banen til den filen.
    String copySource = "FileToCopy.txt"; 
  3. Opprett en ny mappe, kalt Ny mappe, for å kopiere filen til. Legg til den relative banen til destinasjonen i hoved()-funksjonen.
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Bruk metoden copy() for å kopiere filen fra kilden til destinasjonen.
    prøve {
    Files.copy (Paths.get (copySource), Paths.get (copyDestination));
    } å fange(Unntak e) {
    System.out.println("Kunne ikke kopiere spesifikasjonsfilen i: " + copyDestination
    + ". Kryss av hvis mappen eller filen eksisterer allerede.");
    }
  5. Kompiler på nytt og kjør programmet ved å bruke javac og java kommandoer.
  6. Åpne den nye mappen for å bekrefte at programmet har kopiert filen din.

Hvordan flytte filer eller mapper

Du kan flytte filer eller mapper ved å bruke bevege seg() funksjon i klassen Files, som også er en del av java.nio.file-pakken.

  1. Opprett en ny mappe kalt DirectoryToMove i samme mappe som Java-filen.
  2. Opprett en andre mappe kalt Ny katalog i samme mappe. Det er her programmet vil flytte den opprinnelige mappen til.
  3. Opprett filobjekter for katalogen du vil flytte, og plasseringen du vil flytte den til:
    File moveSource = ny File("DirectoryToMove");
    File moveDestination = ny File("NewDirectory/DirectoryToMove");
  4. Bruke Files.move() metode for å flytte filen fra kilden til destinasjonen:
    prøve {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("Katalog flyttet vellykket.");
    } å fange (IOException ex) {
    ex.printStackTrace();
    }
  5. Kompiler på nytt og kjør programmet ved å bruke javac og java kommandoer.
  6. Åpne NewDirectory-mappen for å se at mappen "DirectoryToMove" nå er inne.

Hvordan slette en fil

Du kan bruke slett() metode fra File-klassen for å slette en bestemt fil.

  1. Lag en fil som heter FileToDelete.txt. Lagre filen i samme mappe som Java-programmet.
  2. Opprett et nytt filobjekt for filen du vil slette. Bruk deretter delete()-metoden for å slette filen. Slettmetoden returnerer en sann eller usann verdi, avhengig av om slettingen var vellykket.
    File fileToDelete = ny File("FileToDelete.txt");

    hvis (fileToDelete.delete()) {
    System.out.println("Fil slettet.");
    } ellers {
    System.out.println("Kan ikke slette filen.");
    }

Hvordan zippe filer

Det er mange måter du kan lage et zip-arkiv på som inneholder flere komprimerte filer. Dette eksemplet vil bruke ZipOutputStream og ZipEntry klasser.

  1. Importer de nødvendige klassene ZipOutputStream, ZipEntry og FileOutputStream øverst i filen.
    import java.util.zip. ZipOutputStream;
    import java.util.zip. ZipEntry;
    import java.io. FileOutputStream;
  2. Lag zip-filen og en liste over zipEntry-objekter som representerer tekstfilene du vil zippe. Dette eksemplet vil generere nye tekstfiler, men du kan endre skriptet senere for å inkludere tekstfiler som allerede eksisterer.
    Fil zipFile = ny File("ZippedFile.zip");
    ZipEntry[] zipEntries = ny ZipEntry[] {ny ZipEntry("zipFile1.txt"),
    ny ZipEntry("zipFile2.txt"), ny ZipEntry("zipFile3.txt"});
  3. Opprett zip-utdatastrømmen for å skrive data til zip-filen.
    ZipOutputStream ut = ny ZipOutputStream(ny FileOutputStream (zipFile));
  4. Legg til hver fil i zip-mappen, og lukk strømmen.
    til (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = ny StringBuilder();
    sb.append("Innhold i tekstfil");

    byte[] data = sb.toString().getBytes();
    out.write (data, 0, data.length);
    out.closeEntry();
    }

    out.close();

  5. Kompiler på nytt og kjør programmet ved å bruke javac og java kommandoer. Du vil se den nye zip-mappen vises i filkatalogen din.

Automatisering av enkle oppgaver med Java

Du kan bruke et skript til å fullføre repeterende filbehandlingsoppgaver programmatisk. Disse oppgavene inkluderer tilgang til, kopiering, flytting, sletting og zipping av filer.

En annen måte du kan automatisere repeterende oppgaver på er ved å bruke systemkommandoer i en skriptfil. På Linux og macOS er slike filer kjent som shell-skript, mens Windows refererer til dem som batch-skript.