Есть много повторяющихся задач, которые вам, возможно, придется выполнять время от времени. Например, если вам нужно регулярно вносить изменения в файлы на локальном компьютере. Эти действия могут включать копирование, перемещение, удаление или архивирование файлов.

Вместо того, чтобы выполнять эти повторяющиеся задачи вручную, вы можете автоматизировать их с помощью программы. Вы можете сделать это с помощью одного файла сценария, используя один из многих доступных языков программирования, таких как Java.

Как настроить приложение Java

Во-первых, убедитесь, что у вас есть Комплект для разработки Java SE от Oracle установлены. Затем создайте простое консольное приложение Java:

  1. Создайте файл в любом месте на вашем компьютере с именем SimpleScript.java.
  2. Откройте файл в текстовом редакторе или IDE.
  3. В верхней части файла импортируйте класс IOException. Это позволит вам обрабатывать исключения, связанные с файлом или вводом-выводом, при попытке выполнить определенные функции, такие как копирование файла.
    импорт java.io. IOException;
  4. Ниже добавьте основной класс Java и главный метод. Основной метод запускается при запуске приложения. А пока просто напечатайте сообщение, чтобы убедиться, что программа работает правильно. После этого вы можете заменить содержимое функции main любым из следующих примеров, чтобы протестировать их.
    учебный классПростой скрипт{ 
    публичныйстатическийпустотаглавный(строковые аргументы [])бросает IOException {
    System.out.println("Простое консольное приложение");
    }
    }
  5. Чтобы запустить скрипт, начните с использования командной строки, чтобы перейти к местоположению вашего java-файла. Например, если вы сохранили файл на рабочем столе, команда будет такой:
    CD Рабочий стол
  6. Сохраните файл и используйте javac команду для его компиляции. Каждый раз, когда вы вносите изменения в файл, вам нужно будет перекомпилировать его с помощью javac.
    javac SimpleScript.java
  7. Запустите приложение:
    простой скрипт Java

Как получить доступ к локальным файлам на вашем компьютере

Вы можете использовать класс File для программного доступа к файлам в каталоге.

  1. Создайте новую папку с именем Новый каталог, в том же каталоге, что и ваш java-файл. Создайте внутри него несколько файлов — если хотите, это могут быть пустые текстовые файлы.
  2. В верхней части приложения Java импортируйте класс File. Это позволит вам получить доступ к определенным методам и другим функциям, связанным с файлами и каталогами ОС.
    импорт java.io. Файл;
  3. Создайте новый объект File, используя относительный путь к вашей новой папке.
    Каталог файлов = новый Файл("Новый Каталог");
  4. Используйте функцию listFiles() для доступа к списку всех файлов в этом каталоге.
    Файл[] listOfFiles = directory.listFiles();

    за (Файловый файл: listOfFiles) {
    System.out.println (файл);
    }

  5. Перекомпилируйте и запустите программу, используя javac а также Ява команды.

Как скопировать файлы в другое место

Существует несколько способов копирования файлов. Обычный способ копирования файлов (особенно до появления Java 7 и пакета java.nio.file) — использовать классы FileInputStream или FileOutputStream.

  • FileInputStream class позволяет открыть входной поток для чтения байтов из файла.
  • FileOutputStream class позволяет открыть выходной поток для записи байтов в файл.

При копировании файлов идея состоит в том, чтобы открыть поток ввода и вывода. Используя эти потоки, вы будете считывать байты файла в исходном местоположении, а затем записывать эти байты в новое место.

В этом примере будет использоваться более новая реализация для копирования файлов с помощью функции copy() из класса Files пакета java.nio.file. Чтобы использовать пакет java.nio.file, у вас должна быть установлена ​​Java 7 или выше.

  1. В верхней части файла импортируйте классы File и Path из пакета java.nio.file.
    импорт java.nio.файл. файлы;
    импорт java.nio.файл. Пути;
  2. Добавьте новый файл с именем FileToCopy.txt в том же каталоге, что и ваш java-файл. В функции main() объявите относительный путь к этому файлу.
    Строка copySource = "FileToCopy.txt"; 
  3. Создайте новую папку с именем Новая папка, чтобы скопировать файл в. Добавьте относительный путь к месту назначения в функции main().
    Строка copyDestination = "NewFolder/FileToCopy.txt";
  4. Используйте метод copy(), чтобы скопировать файл из источника в место назначения.
    пытаться {
    Files.copy(Paths.get(copySource), Paths.get(copyDestination));
    } ловить(Исключение д) {
    System.out.println("Не удалось скопировать файл спецификаций в: " + copyDestination
    + ". Проверять если папка или файл уже существует.");
    }
  5. Перекомпилируйте и запустите программу, используя javac а также Ява команды.
  6. Откройте новую папку, чтобы убедиться, что программа скопировала ваш файл.

Как переместить файлы или папки

Вы можете перемещать файлы или папки с помощью шаг() в классе Files, который также является частью пакета java.nio.file.

  1. Создайте новую папку с именем DirectoryToMove в той же папке, что и ваш файл Java.
  2. Создайте вторую папку с именем Новый каталог в той же папке. Сюда программа переместит исходную папку.
  3. Создайте объекты File для каталога, который вы хотите переместить, и места, в которое вы хотите его переместить:
    Файл moveSource = новый Файл("КаталогПереместить");
    Файл moveDestination = новый Файл("НовыйКаталог/КаталогПереместить");
  4. Использовать Файлы.move() метод для перемещения файла из источника в место назначения:
    пытаться {
    Files.move(moveSource.toPath(), moveDestination.toPath());
    System.out.println("Каталог успешно перемещен.");
    } ловить (исключение ввода-вывода) {
    ex.printStackTrace();
    }
  5. Перекомпилируйте и запустите программу, используя javac а также Ява команды.
  6. Откройте папку NewDirectory, чтобы увидеть, что папка «DirectoryToMove» теперь находится внутри.

Как удалить файл

Вы можете использовать Удалить() метод из класса File для удаления определенного файла.

  1. Создайте файл с именем FileToDelete.txt. Сохраните файл в той же папке, что и ваше Java-приложение.
  2. Создайте новый объект File для файла, который вы хотите удалить. Затем используйте его метод delete() для удаления файла. Метод удаления возвращает значение true или false в зависимости от того, было ли удаление успешным.
    Файл fileToDelete = новый Файл("FileToDelete.txt");

    если (fileToDelete.delete()) {
    System.out.println("Файл успешно удален.");
    } еще {
    System.out.println("Невозможно удалить файл.");
    }

Как архивировать файлы

Есть много способов создать zip-архив. содержащий несколько сжатых файлов. В этом примере будет использоваться ZipOutputStream а также ZipEntry классы.

  1. Импортируйте необходимые классы ZipOutputStream, ZipEntry и FileOutputStream в начало файла.
    импорт java.util.zip. ZipOutputStream;
    импорт java.util.zip. почтовый индекс;
    импорт java.io. ФайлВыходнойПоток;
  2. Создайте zip-файл и список объектов zipEntry, представляющих текстовые файлы, которые вы хотите заархивировать. В этом примере будут созданы новые текстовые файлы, но позже вы можете изменить сценарий, включив в него уже существующие текстовые файлы.
    Файл ZIPFile = новый Файл("ZippedFile.zip");
    ZipEntry[] zipEntries = новый ZipEntry[] {новый ZipEntry("zipFile1.txt"),
    новый ZipEntry("zipFile2.txt"), новый ZipEntry("zipFile3.txt")};
  3. Создайте выходной поток zip для записи данных в zip-файл.
    Выход ZipOutputStream = новый ZipOutputStream(новый FileOutputStream (zipFile));
  4. Добавьте каждый файл в zip-папку и закройте поток.
    за (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = новый Строитель Строки();
    sb.append("Содержимое внутри текстового файла");

    байт[] данные = sb.toString().getBytes();
    out.write (данные, 0, данные.длина);
    выход.closeEntry();
    }

    выход.закрыть();

  5. Перекомпилируйте и запустите программу, используя javac а также Ява команды. Вы увидите, что новая zip-папка появится в вашем файловом каталоге.

Автоматизация простых задач с помощью Java

Вы можете использовать сценарий для программного выполнения повторяющихся задач файлового менеджера. Эти задачи включают доступ, копирование, перемещение, удаление и сжатие файлов.

Еще один способ автоматизировать повторяющиеся задачи — использовать системные команды в файле сценария. В Linux и macOS такие файлы называются сценариями оболочки, а в Windows — пакетными сценариями.