Existem muitas tarefas repetitivas que você pode precisar concluir de tempos em tempos. Um exemplo é se você precisar fazer alterações regularmente nos arquivos em seu computador local. Essas ações podem incluir copiar, mover, excluir ou arquivar arquivos.

Em vez de concluir essas tarefas repetitivas manualmente, você pode automatizá-las usando um programa. Você pode fazer isso com um único arquivo de script, usando uma das muitas linguagens de programação disponíveis, como Java.

Como configurar o aplicativo Java

Primeiro, certifique-se de ter Kit de Desenvolvimento Java SE da Oracle instalado. Em seguida, crie um aplicativo de console Java simples:

  1. Crie um arquivo em qualquer lugar do seu computador chamado SimpleScript.java.
  2. Abra o arquivo em um editor de texto ou IDE.
  3. Na parte superior do arquivo, importe a classe IOException. Isso permitirá que você manipule exceções relacionadas a arquivos ou IO ao tentar executar determinadas funções, como copiar um arquivo.
    importar java.io. IOException;
  4. Abaixo, adicione a principal classe Java e a a Principal método. O método main será executado quando você iniciar o aplicativo. Por enquanto, basta imprimir uma mensagem para garantir que o programa seja executado corretamente. Depois disso, você pode substituir o conteúdo da função main por qualquer um dos exemplos a seguir para testá-los.
    classeSimpleScript{ 
    públicoestáticovazioa Principal(String argumentos[])lança IOException {
    System.out.println("Aplicativo de console simples");
    }
    }
  5. Para executar o script, comece usando uma linha de comando para navegar até o local do arquivo Java. Por exemplo, se você armazenou seu arquivo na área de trabalho, o comando seria:
    cd Área de Trabalho
  6. Salve o arquivo e use o javac comando para compilar. Toda vez que você fizer alterações no arquivo, precisará recompilá-lo com javac.
    javac SimpleScript.java
  7. Execute o aplicativo:
    java SimpleScript

Como acessar arquivos locais em seu computador

Você pode usar a classe File para acessar arquivos em um diretório programaticamente.

  1. Crie uma nova pasta, chamada Novo diretório, no mesmo diretório que seu arquivo java. Crie alguns arquivos dentro dele - eles podem ser arquivos de texto vazios, se você quiser.
  2. Na parte superior do seu aplicativo Java, importe a classe File. Isso permitirá que você acesse determinados métodos e outras funcionalidades relacionadas a arquivos e diretórios do sistema operacional.
    importar java.io. Arquivo;
  3. Crie um novo objeto File usando o caminho relativo para sua nova pasta.
    Diretório do arquivo = novo File("NovoDiretório");
  4. Use a função listFiles() para acessar uma lista de todos os arquivos dentro desse diretório.
    File[] listOfFiles = directory.listFiles();

    por (Arquivo de arquivo: listOfFiles) {
    System.out.println (arquivo);
    }

  5. Recompile e execute o programa usando o javac e Java comandos.

Como copiar arquivos para outro local

Existem várias maneiras de copiar arquivos. Uma maneira comum de copiar arquivos (especialmente antes do Java 7 e do pacote java.nio.file) é usar as classes FileInputStream ou FileOutputStream.

  • o FileInputStream class permite que você abra um fluxo de entrada para ler bytes de um arquivo.
  • o FileOutputStream class permite que você abra um fluxo de saída para gravar bytes em um arquivo.

Ao copiar arquivos, a ideia é abrir um fluxo de entrada e saída. Usando esses fluxos, você lerá os bytes do arquivo no local de origem e, em seguida, gravará esses bytes no novo local.

Este exemplo usará uma implementação mais recente para copiar arquivos, usando a função copy() da classe Files do pacote java.nio.file. Para usar o pacote java.nio.file, você deve ter o Java 7 ou superior instalado.

  1. Na parte superior do arquivo, importe as classes File e Path do pacote java.nio.file.
    importar java.nio.file. Arquivos;
    importar java.nio.file. Caminhos;
  2. Adicione um novo arquivo chamado FileToCopy.txt no mesmo diretório que seu arquivo java. Na função main(), declare o caminho relativo para esse arquivo.
    String copySource = "FileToCopy.txt"; 
  3. Crie uma nova pasta, chamada Nova pasta, para copiar o arquivo. Adicione o caminho relativo ao destino na função main().
    String copyDestination = "NewFolder/FileToCopy.txt";
  4. Use o método copy() para copiar o arquivo de sua origem para o destino.
    tentar {
    Files.copy (Paths.get (copySource), Paths.get (copyDestination));
    } truque(Exceção e) {
    System.out.println("Não foi possível copiar o arquivo de especificações em: " + copyDestination
    + ". Verificar E se a pasta ou arquivo já existe.");
    }
  5. Recompile e execute o programa usando o javac e Java comandos.
  6. Abra a Nova Pasta para confirmar que o programa copiou seu arquivo.

Como mover arquivos ou pastas

Você pode mover arquivos ou pastas usando o jogada() função na classe Files, que também faz parte do pacote java.nio.file.

  1. Crie uma nova pasta chamada DirectoryToMove na mesma pasta que seu arquivo Java.
  2. Crie uma segunda pasta chamada Novo diretório na mesma pasta. É para onde o programa irá mover a pasta original.
  3. Crie objetos File para o diretório que você deseja mover e o local para o qual deseja movê-lo:
    Arquivo moveSource = novo File("DirectoryToMove");
    Arquivo moveDestino = novo File("NewDirectory/DirectoryToMove");
  4. Use o Arquivos.mover() método para mover o arquivo da origem para o destino:
    tentar {
    Files.move (moveSource.toPath(), moveDestination.toPath());
    System.out.println("Diretório movido com sucesso.");
    } truque (IOException ex) {
    ex.printStackTrace();
    }
  5. Recompile e execute o programa usando o javac e Java comandos.
  6. Abra a pasta NewDirectory para ver que a pasta "DirectoryToMove" agora está dentro.

Como excluir um arquivo

Você pode usar o excluir() método da classe File para excluir um arquivo específico.

  1. Crie um arquivo chamado FileToDelete.txt. Salve o arquivo na mesma pasta que seu aplicativo Java.
  2. Crie um novo objeto File para o arquivo que deseja excluir. Em seguida, use seu método delete() para excluir o arquivo. O método delete retorna um valor true ou false, dependendo se a exclusão foi bem-sucedida.
    Arquivo fileToDelete = novo File("FileToDelete.txt");

    E se (arquivoParaDelete.delete()) {
    System.out.println("Arquivo deletado com sucesso.");
    } senão {
    System.out.println("Não foi possível excluir o arquivo.");
    }

Como compactar arquivos

Há muitas maneiras de criar um arquivo zip contendo vários arquivos compactados. Este exemplo usará o ZipOutputStream e ZipEntry Aulas.

  1. Importe as classes ZipOutputStream, ZipEntry e FileOutputStream necessárias na parte superior do arquivo.
    importar java.util.zip. ZipOutputStream;
    importar java.util.zip. ZipEntry;
    importar java.io. FileOutputStream;
  2. Crie o arquivo zip e uma lista de objetos zipEntry representando os arquivos de texto que você gostaria de compactar. Este exemplo irá gerar novos arquivos de texto, mas você pode modificar o script posteriormente para incluir arquivos de texto que já existem.
    Arquivo zipFile = novo File("ZippedFile.zip");
    ZipEntry[] zipEntries = novo ZipEntry[] {novo ZipEntry("zipFile1.txt"),
    novo ZipEntry("zipFile2.txt"), novo ZipEntry("zipFile3.txt"});
  3. Crie o fluxo de saída zip para gravar dados no arquivo zip.
    ZipOutputStreamout = novo ZipOutputStream(novo FileOutputStream (zipFile));
  4. Adicione cada arquivo à pasta zip e feche o fluxo.
    por (ZipEntry zipEntry: zipEntries) {
    out.putNextEntry (zipEntry);

    StringBuilder sb = novo StringBuilder();
    sb.append("Conteúdo dentro do arquivo de texto");

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

    saída.fechar();

  5. Recompile e execute o programa usando o javac e Java comandos. Você verá a nova pasta zip aparecer em seu diretório de arquivos.

Automatizando tarefas simples com Java

Você pode usar um script para concluir tarefas repetitivas do gerenciador de arquivos programaticamente. Essas tarefas incluem acessar, copiar, mover, excluir e compactar arquivos.

Outra maneira de automatizar tarefas repetitivas é usando comandos do sistema em um arquivo de script. No Linux e no macOS, esses arquivos são conhecidos como scripts de shell, enquanto o Windows se refere a eles como scripts em lote.