Der er mange gentagne opgaver, som du muligvis skal udføre fra tid til anden. Et eksempel er, hvis du regelmæssigt skal foretage ændringer i filer på din lokale computer. Disse handlinger kan omfatte kopiering, flytning, sletning eller arkivering af filer.

I stedet for at udføre disse gentagne opgaver manuelt, kan du automatisere dem ved hjælp af et program. Du kan gøre dette med en enkelt scriptfil ved at bruge et af de mange tilgængelige programmeringssprog, såsom Java.

Sådan opsætter du Java-applikationen

Først skal du sikre dig, at du har Oracles Java SE Development Kit installeret. Opret derefter en simpel Java-konsolapplikation:

  1. Opret en fil hvor som helst på din computer kaldet SimpleScript.java.
  2. Åbn filen i en teksteditor eller IDE.
  3. Øverst i filen skal du importere IOException-klassen. Dette vil tillade dig at håndtere fil- eller IO-relaterede undtagelser, når du forsøger at udføre visse funktioner, som at kopiere en fil.
    importere java.io. IOException;
  4. Nedenfor tilføjes den vigtigste Java-klasse
    instagram viewer
    og vigtigste metode. Hovedmetoden kører, når du starter applikationen. Indtil videre skal du bare udskrive en besked for at sikre, at programmet kører korrekt. Herefter kan du erstatte indholdet af hovedfunktionen med et hvilket som helst af følgende eksempler for at teste dem.
    klasseSimpleScript{ 
    offentligstatiskugyldigvigtigste(String args[])kaster IOException {
    System.out.println("Simple Console App");
    }
    }
  5. For at køre scriptet skal du starte med at bruge en kommandolinje til at navigere til placeringen af ​​din java-fil. For eksempel, hvis du har gemt din fil på skrivebordet, vil kommandoen være:
    cd Desktop
  6. Gem filen, og brug javac kommando til at kompilere det. Hver gang du foretager ændringer i filen, skal du kompilere den igen med javac.
    javac SimpleScript.java
  7. Kør applikationen:
    java SimpleScript

Sådan får du adgang til lokale filer på din computer

Du kan bruge klassen Fil til programmæssig adgang til filer i en mappe.

  1. Opret en ny mappe, kaldet Ny bibliotek, i samme mappe som din java-fil. Opret nogle filer inde i det - de kan være tomme tekstfiler, hvis du vil.
  2. Øverst i din Java-applikation skal du importere klassen Fil. Dette giver dig adgang til visse metoder og anden funktionalitet relateret til OS-filer og mapper.
    importere java.io. Fil;
  3. Opret et nyt Fil-objekt ved hjælp af den relative sti til din nye mappe.
    Filmappe = ny File("Nyt bibliotek");
  4. Brug funktionen listFiles() for at få adgang til en liste over alle filerne i den mappe.
    Fil[] listOfFiles = directory.listFiles();

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

  5. Genkompiler og kør programmet ved hjælp af javac og java kommandoer.

Sådan kopieres filer til en anden placering

Der er flere måder, du kan kopiere filer på. En almindelig måde at kopiere filer på (især før Java 7 og java.nio.file-pakken) er at bruge klasserne FileInputStream eller FileOutputStream.

  • Det FileInputStream klasse giver dig mulighed for at åbne en inputstrøm for at læse bytes fra en fil.
  • Det FileOutputStream klasse giver dig mulighed for at åbne en outputstrøm for at skrive bytes til en fil.

Når du kopierer filer, er ideen at åbne en input- og outputstrøm. Ved at bruge disse streams vil du læse filens bytes på kildeplaceringen og derefter skrive disse bytes til den nye placering.

Dette eksempel vil bruge en nyere implementering til at kopiere filer ved at bruge funktionen copy() fra klassen Files i pakken java.nio.file. For at bruge pakken java.nio.file skal du have Java 7 eller højere installeret.

  1. Øverst i filen skal du importere Fil- og Sti-klasserne fra pakken java.nio.file.
    importere java.nio.fil. Filer;
    importere java.nio.fil. stier;
  2. Tilføj en ny fil kaldet FileToCopy.txt i samme mappe som din java-fil. I main()-funktionen skal du erklære den relative sti til den fil.
    String copySource = "FileToCopy.txt"; 
  3. Opret en ny mappe, kaldet Ny mappe, for at kopiere filen til. Tilføj den relative sti til destinationen i main()-funktionen.
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Brug metoden copy() til at kopiere filen fra dens kilde til destinationen.
    prøve {
    Files.copy (Paths.get (copySource), Paths.get (copyDestination));
    } fangst(Undtagelse e) {
    System.out.println("Kunne ikke kopiere specifikationsfilen i: " + copyDestination
    + ". Kontrollere hvis mappen eller filen findes allerede.");
    }
  5. Genkompiler og kør programmet ved hjælp af javac og java kommandoer.
  6. Åbn den nye mappe for at bekræfte, at programmet har kopieret din fil.

Sådan flyttes filer eller mapper

Du kan flytte filer eller mapper ved hjælp af bevæge sig() funktion i klassen Files, som også er en del af pakken java.nio.file.

  1. Opret en ny mappe kaldet DirectoryToMove i samme mappe som din Java-fil.
  2. Opret en anden mappe kaldet Ny bibliotek i samme mappe. Det er her, programmet flytter den originale mappe til.
  3. Opret filobjekter til den mappe, du vil flytte, og den placering, du vil flytte den til:
    Fil moveSource = ny File("DirectoryToMove");
    Fil flyttedestination = ny File("NewDirectory/DirectoryToMove");
  4. Brug Files.move() metode til at flytte filen fra kilden til destinationen:
    prøve {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("Mappen blev flyttet med succes.");
    } fangst (IOException ex) {
    ex.printStackTrace();
    }
  5. Genkompiler og kør programmet ved hjælp af javac og java kommandoer.
  6. Åbn mappen NewDirectory for at se, at mappen "DirectoryToMove" nu er inde.

Sådan sletter du en fil

Du kan bruge slet() metode fra File-klassen for at slette en bestemt fil.

  1. Opret en fil kaldet FileToDelete.txt. Gem filen i samme mappe som din Java-applikation.
  2. Opret et nyt Fil-objekt for den fil, du vil slette. Brug derefter dens delete()-metode til at slette filen. Sletmetoden returnerer en sand eller falsk værdi, afhængigt af om sletningen lykkedes.
    Fil fileToDelete = ny File("FileToDelete.txt");

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

Sådan zipper du filer

Der er mange måder, du kan oprette et zip-arkiv på indeholdende flere komprimerede filer. Dette eksempel vil bruge ZipOutputStream og ZipEntry klasser.

  1. Importer de nødvendige klasser ZipOutputStream, ZipEntry og FileOutputStream øverst i filen.
    importere java.util.zip. ZipOutputStream;
    importere java.util.zip. ZipEntry;
    importere java.io. FileOutputStream;
  2. Opret zip-filen og en liste over zipEntry-objekter, der repræsenterer de tekstfiler, du gerne vil zippe. Dette eksempel vil generere nye tekstfiler, men du kan ændre scriptet senere for at inkludere tekstfiler, der 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. Opret zip-outputstrømmen for at skrive data til zip-filen.
    ZipOutputStream ud = ny ZipOutputStream(ny FileOutputStream (zipFile));
  4. Tilføj hver fil til zip-mappen, og luk strømmen.
    til (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

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

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

    ud.lukke();

  5. Genkompiler og kør programmet ved hjælp af javac og java kommandoer. Du vil se den nye zip-mappe vises i din filmappe.

Automatisering af simple opgaver med Java

Du kan bruge et script til at fuldføre gentagne filhåndteringsopgaver programmatisk. Disse opgaver omfatter adgang til, kopiering, flytning, sletning og zipping af filer.

En anden måde, du kan automatisere gentagne opgaver på, er ved at bruge systemkommandoer i en scriptfil. På Linux og macOS er sådanne filer kendt som shell-scripts, mens Windows refererer til dem som batch-scripts.