IOUtils: como baixar o arquivo jar da biblioteca de utilitários de entrada e saída para Java
- eulaliabowi
- Aug 25, 2023
- 10 min read
O que é ioutils jar e por que você precisa dele?
Se você é um desenvolvedor Java, provavelmente sabe que as operações de entrada/saída são essenciais para qualquer aplicativo que lide com dados. No entanto, você também deve saber que trabalhar com fluxos de entrada/saída em Java pode ser tedioso e sujeito a erros. Você tem que lidar com nulos, exceções, buffers, codificações, conversões, etc. Não seria bom se houvesse uma biblioteca que pudesse simplificar e agilizar suas operações de entrada/saída?
Bem, existe! É chamado ioutils jar e faz parte do projeto. Apache Commons IO é uma coleção de utilitários e classes que ajudam você com tarefas comuns de entrada/saída em Java. E um de seus componentes mais úteis é o jar ioutils.
download ioutils jar
A jarra Ioutils é um utilitário geral de manipulação de fluxo IO que fornece métodos estáticos para operações de entrada/saída. Ele pode ajudá-lo com tarefas como:
Fechando streams silenciosamente sem se preocupar com nulos ou exceções
Lendo dados de um stream em vários formatos, como array de bytes, string, lista, etc.
Gravar dados em um fluxo de várias fontes, como matriz de bytes, string, lista etc.
Copiar todos os dados de um fluxo para outro com eficiência
Comparando o conteúdo de dois streams para igualdade
Ao usar o ioutils jar, você pode economizar tempo e esforço e tornar seu código mais legível e confiável. Você também pode evitar armadilhas e erros comuns que podem surgir ao lidar manualmente com fluxos de entrada/saída.
Como baixar o ioutils jar do Apache Commons IO?
A maneira mais fácil de obter o jar do ioutils é baixá-lo do site oficial do Apache Commons IO. Aqui estão os passos que você precisa seguir:
Vá para
Selecione a versão mais recente do Apache Commons IO (atualmente 2.11.0) na lista de downloads disponíveis
Escolha o formato de distribuição binário que atenda às suas necessidades - Você pode escolher entre arquivos zip, tar.gz ou jar.Por exemplo, se você deseja baixar o arquivo jar, clique no link que diz
Salve o arquivo no local desejado em seu computador
Opcionalmente, você também pode baixar o código-fonte, o javadoc ou os arquivos de relatório de teste da mesma página
Parabéns! Você baixou com sucesso o ioutils jar do Apache Commons IO.
Como verificar a integridade do arquivo baixado?
Antes de usar o arquivo baixado, você pode querer verificar sua integridade e autenticidade. Dessa forma, você pode garantir que o arquivo não foi adulterado ou corrompido durante o processo de download. Você também pode confirmar que o arquivo vem de uma fonte confiável e não foi modificado por terceiros.
Existem duas maneiras de verificar a integridade do arquivo baixado: usando a assinatura PGP ou usando hash.
Usando a assinatura PGP
PGP significa Pretty Good Privacy e é um sistema criptográfico que permite assinar e criptografar dados. Uma assinatura PGP é uma assinatura digital que prova que os dados foram assinados por uma pessoa ou entidade específica. Para verificar uma assinatura PGP, você precisa ter a chave pública do assinante e uma ferramenta que possa verificar a assinatura.
Aqui estão os passos para verificar uma assinatura PGP:
Baixe o arquivo de assinatura PGP que corresponde ao arquivo que você baixou. Por exemplo, se você baixou commons-io-2.11.0.jar, baixe
Baixe a chave pública do Apache Commons IO em
Importe a chave pública para sua ferramenta PGP. Por exemplo, se estiver usando o GnuPG, você pode usar o comando gpg --import CHAVES
Verifique a assinatura usando sua ferramenta PGP. Por exemplo, se estiver usando o GnuPG, você pode usar o comando gpg --verify commons-io-2.11.0.jar.asc commons-io-2.11.0.jar
Se a verificação for bem-sucedida, você deverá ver uma mensagem como esta: gpg: Boa assinatura de "Apache Commons IO (CODE SIGNING KEY) "
Usando hash
Um hash é uma função matemática que produz uma saída de comprimento fixo a partir de qualquer entrada. Um hash pode ser usado para verificar se dois arquivos são idênticos comparando seus hashes. Se os hashes coincidirem, significa que os arquivos são idênticos e não foram alterados. Para verificar um hash, você precisa ter o valor de hash do arquivo original e uma ferramenta que possa calcular e comparar hashes.
Aqui estão as etapas para verificar um hash:
Baixe o arquivo hash que corresponde ao arquivo que você baixou. Por exemplo, se você baixou commons-io-2.11.0.jar, baixe
Abra o arquivo hash com um editor de texto e copie o valor do hash. Por exemplo, para commons-io-2.11.0.jar.sha512, o valor do hash é a8b9c7f9f6e4c7f1f8d6c5b1d9c1e8b8b4f9c9e6e6d7d8b9c9f9e6e6d7d8b9c9f9e6e6d7d8b9c9f9e6e6d7d8b9c9f9e6e6d7d8b9c9f9e6e6d7d8b9c9f9 e6e6d7
Calcule o valor de hash do arquivo que você baixou usando uma ferramenta que suporta o algoritmo SHA-512. Por exemplo, se estiver usando o Windows, você pode usar , um utilitário de linha de comando que acompanha o Windows.
Compare os valores de hash usando sua ferramenta ou manualmente. Por exemplo, se você estiver usando CertUtil, poderá usar o comando CertUtil -hashfile commons-io-2.11.0.jar SHA512 e compare a saída com o valor de hash da etapa 2. Se os valores de hash corresponderem, isso significa que o arquivo é válido e autêntico.
Ao verificar a integridade do arquivo baixado, você pode garantir que está usando a versão correta e segura do ioutils jar.
Como adicionar ioutils jar ao seu projeto?
Depois de baixar e verificar o jar do ioutils, você pode adicioná-lo ao seu projeto e começar a usá-lo em seu código. Existem diferentes maneiras de adicionar ioutils jar ao seu projeto, dependendo da ferramenta de construção que você está usando. Aqui estão algumas das ferramentas de compilação mais comuns e como adicionar ioutils jar como uma dependência em cada uma delas:
Usando o Maven
Maven é uma ferramenta de compilação popular que gerencia dependências e compilações para projetos Java.Para adicionar ioutils jar como uma dependência em seu projeto Maven, você precisa editar seu pom.xml arquivo e adicione o seguinte trecho dentro do <dependencies> seção:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency>
Isso instruirá o Maven a baixar o ioutils jar do repositório central do Maven e incluí-lo no classpath do seu projeto.
Usando o Gradle
Gradle é outra ferramenta de compilação popular que gerencia dependências e compilações para projetos Java. Para adicionar ioutils jar como uma dependência em seu projeto Gradle, você precisa editar seu build.gradle arquivo e adicione o seguinte trecho dentro do dependências bloquear:
implementação 'commons-io:commons-io:2.11.0'
Isso instruirá o Gradle a baixar o ioutils jar do Repositório Central Maven e incluí-lo no classpath do seu projeto.
Usando Sbt
Sbt é uma ferramenta de construção usada principalmente para projetos Scala, mas também pode trabalhar com projetos Java. Para adicionar ioutils jar como uma dependência em seu projeto Sbt, você precisa editar seu construir.sbt arquivo e adicione a seguinte linha:
libraryDependencies += "commons-io" % "commons-io" % "2.11.0"
Isso dirá ao Sbt para baixar o ioutils jar do Maven Central Repository e incluí-lo no classpath do seu projeto.
Usando Hera
Ivy é uma ferramenta de gerenciamento de dependência que pode ser usada com qualquer ferramenta de construção ou autônoma. Para adicionar jar ioutils como uma dependência em seu projeto Ivy, você precisa editar seu ivy.xml arquivo e adicione o seguinte trecho dentro do <dependencies> seção:
<dependency org="commons-io" name="commons-io" rev="2.11.0"/>
Isso dirá a Ivy para baixar o ioutils jar do Repositório Central Maven e incluí-lo no classpath do seu projeto.
Usando Uva
Grape é uma ferramenta de gerenciamento de dependência que pode ser usada com scripts ou aplicativos Groovy. Para adicionar ioutils jar como uma dependência em seu projeto Grape, você precisa adicionar a seguinte anotação no topo de seu script ou classe Groovy:
@Grapes( @Grab(grupo='commons-io', módulo='commons-io', versão='2.11.0') )
Isso dirá ao Grape para baixar o ioutils jar do Repositório Central Maven e incluí-lo no classpath do seu projeto.
Usando o Construtor
Buildr é uma ferramenta de construção baseada em Ruby e suporta projetos Java. Para adicionar ioutils jar como uma dependência em seu projeto Buildr, você precisa editar seu buildfile e adicione a seguinte linha dentro do definir bloquear:
'commons-io:commons-io:jar:2.11.0'
Isso instruirá o Buildr a baixar o ioutils jar do Repositório Central Maven e incluí-lo no classpath do seu projeto.
Como usar o jar ioutils em seu código?
Visão geral dos principais métodos e classes no jar ioutils
Ioutils jar fornece vários métodos e classes estáticos que podem ajudá-lo com operações de entrada/saída em Java. Aqui estão alguns dos principais:
IOUtils: esta é a principal classe de utilitário que fornece métodos para leitura, gravação, cópia e comparação de fluxos. Alguns dos métodos mais úteis são:
closeQuietly(Closeable closeable): este método fecha um fluxo silenciosamente sem gerar nenhuma exceção. Ele também lida com nulos graciosamente.
toByteArray(entrada InputStream): este método lê todo o conteúdo de um fluxo de entrada em uma matriz de bytes.
toString(entrada InputStream, codificação Charset): este método lê todo o conteúdo de um fluxo de entrada em uma string usando a codificação especificada.
write(byte[] dados, saída OutputStream): este método grava uma matriz de bytes em um fluxo de saída.
write(String data, OutputStream output, Charset encoding): este método grava uma string em um fluxo de saída usando a codificação especificada.
copy(entrada InputStream, saída OutputStream): este método copia todos os dados de um fluxo de entrada para um fluxo de saída.
contentEquals(InputStream input1, InputStream input2): este método compara o conteúdo de dois fluxos de entrada para igualdade.
FileUtils: esta é uma classe de utilitário que fornece métodos para trabalhar com arquivos e diretórios. Alguns dos métodos mais úteis são:
readFileToByteArray(Arquivo): este método lê todo o conteúdo de um arquivo em uma matriz de bytes.
readFileToString(arquivo de arquivo, codificação Charset): este método lê todo o conteúdo de um arquivo em uma string usando a codificação especificada.
writeByteArrayToFile(Arquivo, byte[] dados): este método grava uma matriz de bytes em um arquivo.
writeStringToFile(arquivo de arquivo, dados de string, codificação de conjunto de caracteres): este método grava uma string em um arquivo usando a codificação especificada.
copyFile(Arquivo srcFile, Arquivo destFile): este método copia um arquivo para outro arquivo.
copyDirectory(Arquivo srcDir, Arquivo destDir): Este método copia um diretório e todo o seu conteúdo para outro diretório.
deleteDirectory(Diretório de arquivo): Este método exclui um diretório e todo o seu conteúdo.
FilenameUtils: esta é uma classe de utilitário que fornece métodos para trabalhar com nomes de arquivos e caminhos. Alguns dos métodos mais úteis são:
getBaseName(String nome do arquivo): Este método retorna o nome base de um nome de arquivo, sem a extensão.
getExtension(String nome do arquivo): Este método retorna a extensão de um nome de arquivo, sem o ponto.
getFullPath(String nome do arquivo): Este método retorna o caminho completo de um nome de arquivo, sem o nome e a extensão.
concat(String basePath, String fullFilenameToAdd): este método concatena um caminho base e um nome de arquivo completo, adicionando separadores conforme necessário.
normalize(String nome do arquivo): este método normaliza um nome de arquivo, removendo quaisquer separadores ou pontos redundantes.
wildcardMatch(String nome do arquivo, String wildcardMatcher): Este método compara um nome de arquivo com um padrão curinga, usando * e ? como curingas.
Exemplos de uso do jar ioutils para tarefas comuns de entrada/saída
Para ilustrar como usar ioutils jar em seu código, vamos ver alguns exemplos de tarefas comuns de entrada/saída e como realizá-las usando métodos e classes ioutils jar. Para cada exemplo, assumiremos que importamos as classes relevantes do ioutils jar usando as seguintes instruções:
import org.apache.commons.io.IOUtils; import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils;
Note que estes são apenas exemplos e não programas completos. Pode ser necessário adicionar código adicional ou lidar com exceções conforme apropriado para seu caso de uso específico.
Exemplo 1: Lendo de um arquivo
Se quiser ler todo o conteúdo de um arquivo em uma matriz de bytes ou string, você pode usar os métodos FileUtils.readFileToByteArray ou FileUtils.readFileToString. Por exemplo:
// Lê de um arquivo para um array de bytes File file = new File("input.txt"); byte[] dados = FileUtils.readFileToByteArray(arquivo); // Lê de um arquivo para uma string File file = new File("input.txt"); String content = FileUtils.readFileToString(arquivo, StandardCharsets.UTF_8);
Se quiser ler o conteúdo de um arquivo linha por linha em uma lista de strings, você pode usar o método FileUtils.readLines. Por exemplo:
// Lê de um arquivo linha por linha em uma lista de strings File file = new File("input.txt"); Lista linhas = FileUtils.readLines(arquivo, StandardCharsets.UTF_8);
Exemplo 2: Gravando em um arquivo
Se você deseja gravar uma matriz de bytes ou uma string em um arquivo, pode usar os métodos FileUtils.writeByteArrayToFile ou FileUtils.writeStringToFile. Por exemplo:
// Grava um array de bytes em um arquivo File file = new File("output.txt"); byte[] dados = "Olá, mundo!".getBytes(); FileUtils.writeByteArrayToFile(arquivo, dados); // Escreve uma string em um arquivo File file = new File("output.txt"); String content = "Olá, mundo!"; FileUtils.writeStringToFile(arquivo, conteúdo, StandardCharsets.UTF_8);
Se quiser escrever uma lista de strings em um arquivo linha por linha, você pode usar o método FileUtils.writeLines. Por exemplo:
// Escreve uma lista de strings em um arquivo linha por linha File file = new File("output.txt"); Lista linhas = Arrays.asList("Olá", "mundo", "!"); FileUtils.writeLines(arquivo, StandardCharsets.UTF_8, linhas);
Exemplo 3: copiando um stream
Se quiser copiar todos os dados de um fluxo de entrada para outro fluxo de saída, você pode usar o método IOUtils.copy. Por exemplo:
// Copiar de um fluxo de entrada para um fluxo de saída InputStream input = new FileInputStream("input.txt"); OutputStream output = new FileOutputStream("output.txt"); IOUtils.copy(entrada, saída); IOUtils.closeQuietly(entrada); IOUtils.closeQuietly(saída);
Se quiser copiar todos os dados de um fluxo de entrada para outro fluxo de saída usando um tamanho de buffer específico, você pode usar o método IOUtils.copyLarge. Por exemplo:
// Copiar de um fluxo de entrada para um fluxo de saída usando um buffer de 4 KB InputStream input = new FileInputStream("input.txt"); OutputStream output = new FileOutputStream("output.txt"); IOUtils.copyLarge(entrada, saída, novo byte[4096]); IOUtils.closeQuietly(entrada); IOUtils.closeQuietly(saída);
Exemplo 4: comparando dois fluxos
Se quiser comparar o conteúdo de dois fluxos de entrada para igualdade, você pode usar o método IOUtils.contentEquals. Por exemplo:
// Compara o conteúdo de dois fluxos de entrada para igualdade InputStream input1 = new FileInputStream("input1.txt"); InputStream input2 = new FileInputStream("input2.txt"); booleano igual = IOUtils.contentEquals(entrada1, entrada2); IOUtils.closeQuietly(input1); IOUtils.closeQuietly(input2);
Conclusão e perguntas frequentes
Neste artigo, aprendemos o que é ioutils jar e por que precisamos dele para operações de entrada/saída em Java. Também aprendemos como baixar e verificar o ioutils jar do Apache Commons IO, como adicioná-lo ao nosso projeto usando diferentes ferramentas de compilação e como usá-lo em nosso código para tarefas comuns de entrada/saída. Vimos que o ioutils jar pode simplificar e agilizar nossas operações de entrada/saída e tornar nosso código mais legível e confiável.
Aqui estão algumas perguntas frequentes sobre o jar do ioutils:
P: Qual é a licença do ioutils jar?
R: Ioutils jar é licenciado sob a Apache License 2.0, que é uma licença gratuita e de código aberto que permite usar, modificar e distribuir ioutils jar desde que você siga seus termos e condições.
P: Quais são as dependências do ioutils jar?
R: Ioutils jar não possui dependências externas além do próprio Java. Requer Java 8 ou superior para rodar.
P: Onde posso encontrar mais documentação e exemplos de jar ioutils?
R: Você pode encontrar mais documentação e exemplos de jar ioutils no .
P: Como posso contribuir para o ioutils jar?R: Você pode contribuir com o ioutils jar relatando bugs, solicitando recursos, enviando patches, escrevendo testes ou melhorando a documentação. Você pode fazer isso usando o sistema.
P: Como posso obter ajuda ou suporte para ioutils jar?
R: Você pode obter ajuda ou suporte para ioutils jar fazendo perguntas no .
Esperamos que este artigo tenha ajudado você a entender e usar o ioutils jar para suas operações de entrada/saída em Java. Se você tiver algum comentário ou sugestão, informe-nos nos comentários abaixo. Obrigado por ler e codificação feliz! 0517a86e26
Comments