Sok ismétlődő feladat van, amelyeket időnként el kell végeznie. Ilyen például az, ha rendszeresen módosítania kell a helyi számítógépén lévő fájlokat. Ezek a műveletek magukban foglalhatják a fájlok másolását, áthelyezését, törlését vagy archiválását.

Ahelyett, hogy manuálisan hajtaná végre ezeket az ismétlődő feladatokat, automatizálhatja őket egy program segítségével. Ezt egyetlen szkriptfájllal is megteheti, a számos rendelkezésre álló programozási nyelv egyikével, például a Java-val.

Hogyan állítsuk be a Java alkalmazást

Először is győződjön meg arról, hogy rendelkezik Az Oracle Java SE fejlesztőkészlete telepítve. Ezután hozzon létre egy egyszerű Java konzolalkalmazást:

  1. Hozzon létre egy fájlt bárhol a számítógépén SimpleScript.java.
  2. Nyissa meg a fájlt egy szövegszerkesztőben vagy IDE-ben.
  3. A fájl tetején importálja az IOException Class-t. Ez lehetővé teszi a fájlokkal vagy IO-val kapcsolatos kivételek kezelését, amikor bizonyos funkciókat, például fájlokat másol, végrehajt.
    import java.io. IOException;
  4. instagram viewer
  5. Lent add hozzá a fő Java osztály és a fő- módszer. A fő módszer az alkalmazás indításakor fog futni. Egyelőre csak nyomtasson egy üzenetet, hogy megbizonyosodjon arról, hogy a program megfelelően fut. Ezek után a fő függvény tartalmát lecserélheti a következő példák bármelyikére, hogy tesztelje azokat.
    osztálySimpleScript{ 
    nyilvánosstatikusüresfő-(String args[])dobások IOException {
    System.out.println("Egyszerű konzolalkalmazás");
    }
    }
  6. A szkript futtatásához először egy parancssor használatával navigáljon a java fájl helyére. Például, ha a fájlt az asztalon tárolta, a parancs a következő lesz:
    CD Asztali
  7. Mentse el a fájlt, és használja a javac parancsot a fordításához. Minden alkalommal, amikor módosítja a fájlt, újra le kell fordítania javac.
    javac SimpleScript.java
  8. Futtassa az alkalmazást:
    java SimpleScript

Hogyan lehet elérni a helyi fájlokat a számítógépén

A Fájl osztály segítségével programozottan hozzáférhet egy könyvtárban lévő fájlokhoz.

  1. Hozzon létre egy új mappát, ún NewDirectory, ugyanabban a könyvtárban, mint a java fájl. Hozzon létre benne néhány fájlt – ha akarja, üres szöveges fájlok is lehetnek.
  2. A Java-alkalmazás tetején importálja a Fájl osztályt. Ez lehetővé teszi bizonyos módszerek és egyéb funkciók elérését az operációs rendszer fájljaival és könyvtáraival kapcsolatban.
    import java.io. Fájl;
  3. Hozzon létre egy új fájlobjektumot az új mappa relatív elérési útjával.
    Fájlkönyvtár = új Fájl("ÚjDirectory");
  4. A listFiles() függvény segítségével elérheti a könyvtárban található összes fájl listáját.
    File[] listOfFiles = directory.listFiles();

    számára (Fájlfájl: listOfFiles) {
    System.out.println (fájl);
    }

  5. Fordítsa újra és futtassa a programot a javac és Jáva parancsokat.

Fájlok másolása másik helyre

A fájlok másolásának többféle módja van. A fájlok másolásának általános módja (különösen a Java 7 és a java.nio.file csomag előtt) a FileInputStream vagy a FileOutputStream osztályok használata.

  • Az FileInputStream osztály lehetővé teszi egy bemeneti adatfolyam megnyitását a fájl bájtjainak olvasásához.
  • Az FileOutputStream osztály lehetővé teszi egy kimeneti adatfolyam megnyitását, hogy bájtokat írhasson egy fájlba.

Fájlok másolásakor az ötlet az, hogy megnyit egy bemeneti és kimeneti adatfolyamot. Ezen adatfolyamok használatával beolvassa a fájl bájtjait a forrás helyén, majd beírja ezeket a bájtokat az új helyre.

Ez a példa egy újabb megvalósítást fog használni a fájlok másolásához a java.nio.file csomag Files osztályának copy() függvényével. A java.nio.file csomag használatához Java 7 vagy újabb verziónak kell telepítve lennie.

  1. A fájl tetején importálja a File és Path osztályokat a java.nio.file csomagból.
    import java.nio.file. Fájlok;
    import java.nio.file. utak;
  2. Adjon hozzá egy új fájlt FileToCopy.txt ugyanabban a könyvtárban, mint a java fájl. A main() függvényben adja meg a fájl relatív elérési útját.
    String copySource = "FileToCopy.txt"; 
  3. Hozzon létre egy új mappát, a neve Új mappa, a fájl másolásához. Adja hozzá a cél relatív elérési útját a main() függvényben.
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Használja a copy() metódust a fájl másolásához a forrásból a célhelyre.
    próbálja meg {
    Files.copy (Paths.get (copySource), Paths.get (copyDestination));
    } fogás(e kivétel) {
    System.out.println("Nem sikerült másolni a specifikációs fájlt a következő helyen: " + copyDestination
    + ". Jelölje be ha a mappa vagy fájl már létezik.");
    }
  5. Fordítsa újra és futtassa a programot a javac és Jáva parancsokat.
  6. Nyissa meg az Új mappát, és ellenőrizze, hogy a program átmásolta-e a fájlt.

Fájlok vagy mappák áthelyezése

Fájlokat vagy mappákat a segítségével helyezhet át mozog() függvényt a Files osztályban, amely szintén a java.nio.file csomag része.

  1. Hozzon létre egy új mappát, melynek neve DirectoryToMove ugyanabban a mappában, mint a Java fájl.
  2. Hozzon létre egy második mappát, melynek neve NewDirectory ugyanabban a mappában. Ide helyezi át a program az eredeti mappát.
  3. Hozzon létre fájlobjektumokat az áthelyezni kívánt könyvtárhoz és ahhoz a helyhez, ahová át szeretné helyezni:
    Fájl moveSource = új Fájl("DirectoryToMove");
    File moveDestination = új Fájl("NewDirectory/DirectoryToMove");
  4. Használja a Files.move() módszer a fájl áthelyezésére a forrásból a célba:
    próbálja meg {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("A könyvtár sikeresen áthelyezve.");
    } fogás (IOException ex) {
    pl.printStackTrace();
    }
  5. Fordítsa újra és futtassa a programot a javac és Jáva parancsokat.
  6. Nyissa meg a NewDirectory mappát, és nézze meg, hogy a „DirectoryToMove” mappa már benne van.

Hogyan lehet törölni egy fájlt

Használhatja a töröl() metódussal a Fájl osztályból egy adott fájl törléséhez.

  1. Hozzon létre egy fájlt, melynek neve FileToDelete.txt. Mentse a fájlt ugyanabba a mappába, mint a Java alkalmazás.
  2. Hozzon létre egy új fájl objektumot a törölni kívánt fájlhoz. Ezután használja a delete() metódust a fájl törléséhez. A törlési módszer igaz vagy hamis értéket ad vissza, attól függően, hogy a törlés sikeres volt-e.
    Fájl fileToDelete = új Fájl("FileToDelete.txt");

    ha (fileToDelete.delete()) {
    System.out.println("A fájl sikeresen törölve.");
    } más {
    System.out.println("A fájl nem törölhető.");
    }

Fájlok tömörítése

Számos módon hozhat létre zip-archívumot több tömörített fájlt tartalmaz. Ez a példa a ZipOutputStream és ZipEntry osztályok.

  1. Importálja a szükséges ZipOutputStream, ZipEntry és FileOutputStream osztályokat a fájl tetején.
    import java.util.zip. ZipOutputStream;
    import java.util.zip. ZipEntry;
    import java.io. FileOutputStream;
  2. Hozza létre a zip fájlt és a zipEntry objektumok listáját, amelyek a tömöríteni kívánt szövegfájlokat képviselik. Ez a példa új szövegfájlokat hoz létre, de később módosíthatja a szkriptet, hogy belefoglalja a már meglévő szöveges fájlokat.
    Fájl zipFile = új Fájl("ZippedFile.zip");
    ZipEntry[] zipEntries = új ZipEntry[] {új ZipEntry("zipFile1.txt"),
    új ZipEntry("zipFile2.txt"), új ZipEntry("zipFile3.txt")};
  3. Hozza létre a zip kimeneti adatfolyamot, hogy adatokat írjon a zip fájlba.
    ZipOutputStream kimenet = új ZipOutputStream(új FileOutputStream (zipFile));
  4. Adja hozzá az egyes fájlokat a zip mappához, és zárja be az adatfolyamot.
    számára (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = új StringBuilder();
    sb.append("Tartalom a szövegfájlban");

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

    out.close();

  5. Fordítsa újra és futtassa a programot a javac és Jáva parancsokat. Látni fogja, hogy az új zip mappa megjelenik a fájlkönyvtárban.

Egyszerű feladatok automatizálása Java segítségével

Egy parancsfájl segítségével programozottan hajthat végre ismétlődő fájlkezelő feladatokat. Ezek a feladatok közé tartozik a fájlok elérése, másolása, áthelyezése, törlése és tömörítése.

Az ismétlődő feladatok automatizálásának másik módja a rendszerparancsok parancsfájlban való használata. Linuxon és macOS-en az ilyen fájlokat shell szkripteknek nevezik, míg a Windows kötegelt szkripteknek nevezi őket.