Arquivos Java – Classe java.nio.file.Files
Introdução
A classe java.nio.file.Files
é uma classe utilitária que fornece métodos para operar em arquivos e diretórios no Java. Ela faz parte do pacote java.nio.file
, que introduz uma nova API para trabalhar com arquivos que substitui a antiga API de entrada/saída do Java (java.io
). A API java.nio.file
é mais orientada a objetos e oferece recursos mais avançados para manipulação de arquivos.
A classe Files
fornece métodos para criar, ler, gravar, copiar, mover e excluir arquivos e diretórios. Ela também oferece métodos para obter informações sobre arquivos e diretórios, como tamanho, data de modificação e permissões.
Métodos para Manipulação de Arquivos
Criação de Arquivos
public static Path createFile(Path path, FileAttribute<?>... attrs) throws IOException
* Cria um novo arquivo no caminho especificado.
* O argumento attrs
é opcional e permite especificar atributos para o arquivo recém-criado.
Escrita em Arquivos
public static Path write(Path path, byte[] bytes, OpenOption... options) throws IOException
* Grava uma matriz de bytes em um arquivo.
* As opções options
permitem especificar como o arquivo será aberto, como APPEND ou TRUNCATE_EXISTING.
Leitura de Arquivos
public static byte[] readAllBytes(Path path) throws IOException
* Lê todos os bytes de um arquivo em uma matriz de bytes.
* Este método é útil para ler arquivos pequenos.
Cópia de Arquivos
public static Path copy(Path source, Path target, CopyOption... options) throws IOException
* Copia um arquivo de um caminho de origem para um caminho de destino.
* As opções options
permitem especificar como a cópia será feita, como REPLACE_EXISTING ou COPY_ATTRIBUTES.
Movimento de Arquivos
public static Path move(Path source, Path target, CopyOption... options) throws IOException
* Move um arquivo de um caminho de origem para um caminho de destino.
* As opções options
permitem especificar como a movimentação será feita, como REPLACE_EXISTING ou COPY_ATTRIBUTES.
Exclusão de Arquivos
public static void delete(Path path) throws IOException
* Exclui um arquivo do sistema de arquivos.
Métodos para Obtenção de Informações sobre Arquivos
Tamanho do Arquivo
public static long size(Path path) throws IOException
* Retorna o tamanho do arquivo em bytes.
Data de Modificação
public static FileTime getLastModifiedTime(Path path) throws IOException
* Retorna a data e hora da última modificação do arquivo.
Permissões
public static Set<PosixFilePermission> getPosixFilePermissions(Path path) throws IOException
* Retorna um conjunto de permissões Posix para o arquivo.
Verificação de Existência
public static boolean exists(Path path, LinkOption... options)
* Verifica se um arquivo ou diretório existe.
* As opções options
permitem especificar como a verificação será feita, como FOLLOW_LINKS ou NOFOLLOW_LINKS.
Conclusão
A classe java.nio.file.Files
é uma ferramenta poderosa para manipular arquivos e diretórios no Java. Ela oferece uma ampla gama de métodos que permitem criar, ler, gravar, copiar, mover e excluir arquivos e diretórios. A classe também fornece métodos para obter informações sobre arquivos e diretórios, como tamanho, data de modificação e permissões. A API java.nio.file
é uma ferramenta essencial para desenvolvedores Java que precisam trabalhar com arquivos e diretórios.
FAQs
P: Como criar um arquivo com atributos específicos?
R: Use o método createFile
e especifique os atributos desejados no argumento attrs
.
P: Como gravar uma string em um arquivo?
R: Use o método write
e converta a string em uma matriz de bytes usando o método getBytes()
.
P: Como ler um arquivo em uma string?
R: Use o método readAllBytes
para ler o arquivo em uma matriz de bytes e depois converta a matriz de bytes em uma string usando o método new String(bytes)
.
P: Como copiar um arquivo para um diretório diferente?
R: Use o método copy
e especifique o caminho do diretório de destino como o segundo argumento.
P: Como mover um arquivo para um novo nome?
R: Use o método move
e especifique o novo nome como o segundo argumento.
P: Como verificar se um arquivo é um link simbólico?
R: Use o método isSymbolicLink
da classe Files
.
P: Como obter o caminho absoluto de um arquivo?
R: Use o método toAbsolutePath
da classe Files
.
P: Como obter o caminho canônico de um arquivo?
R: Use o método toRealPath
da classe Files
.
P: Como criar um diretório?
R: Use o método createDirectory
da classe Files
.
P: Como excluir um diretório recursivamente?
R: Use o método walkFileTree
da classe Files
e exclua arquivos e diretórios conforme você os encontrar.