Det finns många repetitiva uppgifter som du kan behöva slutföra då och då. Ett exempel är om du regelbundet behöver göra ändringar i filer på din lokala dator. Dessa åtgärder kan inkludera kopiering, flyttning, radering eller arkivering av filer.

Istället för att utföra dessa repetitiva uppgifter manuellt kan du automatisera dem med hjälp av ett program. Du kan göra detta med en enda skriptfil, med ett av de många tillgängliga programmeringsspråken, som Java.

Hur man ställer in Java-applikationen

Se först till att du har Oracles Java SE Development Kit installerat. Skapa sedan en enkel Java-konsolapplikation:

  1. Skapa en fil var som helst på din dator som heter SimpleScript.java.
  2. Öppna filen i en textredigerare eller IDE.
  3. Överst i filen, importera IOException Class. Detta gör att du kan hantera fil- eller IO-relaterade undantag när du försöker utföra vissa funktioner, som att kopiera en fil.
    importera java.io. IOException;
  4. Nedan, lägg till den huvudsakliga Java-klassen och den huvud metod. Huvudmetoden körs när du startar programmet. För nu, skriv bara ut ett meddelande för att säkerställa att programmet körs korrekt. Efter detta kan du ersätta innehållet i huvudfunktionen med något av följande exempel för att testa dem.
    instagram viewer
    klassSimpleScript{ 
    offentligstatisktomhethuvud(Strängarg[])kastar IOException {
    System.out.println("Simple Console App");
    }
    }
  5. För att köra skriptet, börja med att använda en kommandorad för att navigera till platsen för din java-fil. Om du till exempel har lagrat din fil på skrivbordet skulle kommandot vara:
    CD Skrivbord
  6. Spara filen och använd javac kommando för att kompilera det. Varje gång du gör ändringar i filen måste du kompilera om den med javac.
    javac SimpleScript.java
  7. Kör applikationen:
    java SimpleScript

Hur du kommer åt lokala filer på din dator

Du kan använda klassen File för att programmera åtkomst till filer i en katalog.

  1. Skapa en ny mapp, kallad Ny katalog, i samma katalog som din java-fil. Skapa några filer i den – de kan vara tomma textfiler om du vill.
  2. Överst i din Java-applikation importerar du klassen File. Detta ger dig tillgång till vissa metoder och andra funktioner relaterade till OS-filer och kataloger.
    importera java.io. Fil;
  3. Skapa ett nytt filobjekt med hjälp av den relativa sökvägen till din nya mapp.
    Filkatalog = ny File("NewDirectory");
  4. Använd funktionen listFiles() för att komma åt en lista över alla filer i den katalogen.
    File[] listOfFiles = directory.listFiles();

    för (Filfil: listOfFiles) {
    System.out.println (fil);
    }

  5. Kompilera om och kör programmet med hjälp av javac och java kommandon.

Hur man kopierar filer till en annan plats

Det finns flera sätt att kopiera filer. Ett vanligt sätt att kopiera filer (särskilt före Java 7 och java.nio.file-paketet) är att använda klasserna FileInputStream eller FileOutputStream.

  • De FileInputStream class låter dig öppna en indataström för att läsa bytes från en fil.
  • De FileOutputStream class låter dig öppna en utdataström för att skriva byte till en fil.

När du kopierar filer är tanken att öppna en in- och utmatningsström. Genom att använda dessa strömmar kommer du att läsa filens byte på källplatsen och sedan skriva dessa byte till den nya platsen.

Det här exemplet kommer att använda en nyare implementering för att kopiera filer, genom att använda funktionen copy() från klassen Files i paketet java.nio.file. För att använda paketet java.nio.file måste du ha Java 7 eller högre installerat.

  1. Överst i filen importerar du fil- och sökvägsklasserna från java.nio.file-paketet.
    importera java.nio.fil. Filer;
    importera java.nio.fil. stigar;
  2. Lägg till en ny fil som heter FileToCopy.txt i samma katalog som din java-fil. I main()-funktionen, deklarera den relativa sökvägen till den filen.
    String copySource = "FileToCopy.txt"; 
  3. Skapa en ny mapp, kallad Ny mapp, för att kopiera filen till. Lägg till den relativa sökvägen till destinationen i main()-funktionen.
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Använd metoden copy() för att kopiera filen från dess källa till destinationen.
    Prova {
    Files.copy (Paths.get (copySource), Paths.get (copyDestination));
    } fånga(Undantag e) {
    System.out.println("Kunde inte kopiera specifikationsfilen i: " + copyDestination
    + ". Kolla upp om mappen eller filen finns redan.");
    }
  5. Kompilera om och kör programmet med hjälp av javac och java kommandon.
  6. Öppna den nya mappen för att bekräfta att programmet har kopierat din fil.

Hur man flyttar filer eller mappar

Du kan flytta filer eller mappar med hjälp av flytta() funktion i klassen Files, som också är en del av paketet java.nio.file.

  1. Skapa en ny mapp som heter DirectoryToMove i samma mapp som din Java-fil.
  2. Skapa en andra mapp som heter Ny katalog i samma mapp. Det är dit programmet kommer att flytta den ursprungliga mappen till.
  3. Skapa filobjekt för katalogen du vill flytta och platsen du vill flytta den till:
    File moveSource = ny File("DirectoryToMove");
    File moveDestination = ny File("NewDirectory/DirectoryToMove");
  4. Använd Files.move() metod för att flytta filen från källan till destinationen:
    Prova {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("Katalog flyttade framgångsrikt.");
    } fånga (IOException ex) {
    ex.printStackTrace();
    }
  5. Kompilera om och kör programmet med hjälp av javac och java kommandon.
  6. Öppna mappen NewDirectory för att se att mappen "DirectoryToMove" nu finns inne.

Hur man tar bort en fil

Du kan använda radera() metod från klassen File för att ta bort en viss fil.

  1. Skapa en fil som heter FileToDelete.txt. Spara filen i samma mapp som ditt Java-program.
  2. Skapa ett nytt filobjekt för filen du vill ta bort. Använd sedan metoden delete() för att ta bort filen. Raderingsmetoden returnerar ett sant eller falskt värde, beroende på om borttagningen lyckades.
    File fileToDelete = ny File("FileToDelete.txt");

    om (fileToDelete.delete()) {
    System.out.println("Filen har raderats.");
    } annan {
    System.out.println("Det går inte att ta bort filen.");
    }

Hur man zippar filer

Det finns många sätt att skapa ett zip-arkiv som innehåller flera komprimerade filer. Detta exempel kommer att använda ZipOutputStream och ZipEntry klasser.

  1. Importera de nödvändiga klasserna ZipOutputStream, ZipEntry och FileOutputStream överst i filen.
    importera java.util.zip. ZipOutputStream;
    importera java.util.zip. ZipEntry;
    importera java.io. FileOutputStream;
  2. Skapa zip-filen och en lista med zipEntry-objekt som representerar de textfiler du vill zippa. Det här exemplet kommer att generera nya textfiler, men du kan ändra skriptet senare för att inkludera textfiler som redan finns.
    Fil zipFile = ny File("ZippedFile.zip");
    ZipEntry[] zipEntries = ny ZipEntry[] {ny ZipEntry("zipFile1.txt"),
    ny ZipEntry("zipFile2.txt"), ny ZipEntry("zipFile3.txt"});
  3. Skapa zip-utgångsströmmen för att skriva data till zip-filen.
    ZipOutputStream ut = ny ZipOutputStream(ny FileOutputStream (zipFile));
  4. Lägg till varje fil i zip-mappen och stäng strömmen.
    för (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = ny StringBuilder();
    sb.append("Innehåll i textfil");

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

    out.close();

  5. Kompilera om och kör programmet med hjälp av javac och java kommandon. Du kommer att se den nya zip-mappen visas i din filkatalog.

Automatisera enkla uppgifter med Java

Du kan använda ett skript för att slutföra repetitiva filhanteraruppgifter programmatiskt. Dessa uppgifter inkluderar att komma åt, kopiera, flytta, ta bort och zippa filer.

Ett annat sätt att automatisera repetitiva uppgifter är att använda systemkommandon i en skriptfil. På Linux och macOS är sådana filer kända som skalskript, medan Windows refererar till dem som batchskript.