Java - classe de arquivo

A classe Java File representa os arquivos e nomes de caminho de diretório de maneira abstrata. Esta classe é usada para criação de arquivos e diretórios, pesquisa de arquivos, exclusão de arquivos, etc.

O objeto File representa o arquivo / diretório real no disco. A seguir está a lista de construtores para criar um objeto File.

Sr. Não. Método e Descrição
1

File(File parent, String child)

Este construtor cria uma nova instância de File a partir de um nome de caminho abstrato pai e uma string de nome de caminho filho.

2

File(String pathname)

Este construtor cria uma nova instância de File convertendo a string de nome de caminho fornecida em um nome de caminho abstrato.

3

File(String parent, String child)

Este construtor cria uma nova instância de File a partir de uma string de nome de caminho pai e uma string de nome de caminho filho.

4

File(URI uri)

Esse construtor cria uma nova instância de File convertendo o arquivo: URI fornecido em um nome de caminho abstrato.

Depois de ter o objeto Arquivo em mãos, há uma lista de métodos auxiliares que podem ser usados ​​para manipular os arquivos.

Sr. Não. Método e Descrição
1

public String getName()

Retorna o nome do arquivo ou diretório indicado por este nome de caminho abstrato.

2

public String getParent()

Retorna a string de nome do caminho do pai deste nome de caminho abstrato, ou null se este nome de caminho não nomear um diretório pai.

3

public File getParentFile()

Retorna o nome de caminho abstrato do pai deste nome de caminho abstrato, ou null se este nome de caminho não nomeia um diretório pai.

4

public String getPath()

Converte este nome de caminho abstrato em uma string de nome de caminho.

5

public boolean isAbsolute()

Testa se esse nome de caminho abstrato é absoluto. Retorna verdadeiro se este caminho abstrato for absoluto, falso caso contrário.

6

public String getAbsolutePath()

Retorna a string de nome de caminho absoluto deste nome de caminho abstrato.

7

public boolean canRead()

Testa se o aplicativo pode ler o arquivo indicado por este nome de caminho abstrato. Retorna verdadeiro se e somente se o arquivo especificado por este nome de caminho abstrato existe e pode ser lido pelo aplicativo; caso contrário, false.

8

public boolean canWrite()

Testa se o aplicativo pode ser modificado para o arquivo indicado por este nome de caminho abstrato. Retorna verdadeiro se e somente se o sistema de arquivos realmente contiver um arquivo indicado por este caminho abstrato e o aplicativo tiver permissão para gravar no arquivo; caso contrário, false.

9

public boolean exists()

Testa se o arquivo ou diretório indicado por este nome de caminho abstrato existe. Retorna verdadeiro se e somente se o arquivo ou diretório indicado por este nome de caminho abstrato existir; caso contrário, false.

10

public boolean isDirectory()

Testa se o arquivo indicado por este nome de caminho abstrato é um diretório. Retorna verdadeiro se e somente se o arquivo denotado por este caminho abstrato existe e é um diretório; caso contrário, false.

11

public boolean isFile()

Testa se o arquivo indicado por este nome de caminho abstrato é um arquivo normal. Um arquivo é normal se não for um diretório e, além disso, satisfaz outros critérios dependentes do sistema. Qualquer arquivo não pertencente ao diretório criado por um aplicativo Java tem a garantia de ser um arquivo normal. Retorna verdadeiro se e somente se o arquivo denotado por este nome de caminho abstrato existe e é um arquivo normal; caso contrário, false.

12

public long lastModified()

Retorna a hora em que o arquivo indicado por este caminho abstrato foi modificado pela última vez. Retorna um valor longo que representa a hora em que o arquivo foi modificado pela última vez, medido em milissegundos desde a época (00:00:00 GMT, 1º de janeiro de 1970) ou 0L se o arquivo não existir ou se ocorrer um erro de E / S.

13

public long length()

Retorna o comprimento do arquivo indicado por este nome de caminho abstrato. O valor de retorno não é especificado se este nome de caminho denota um diretório.

14

public boolean createNewFile() throws IOException

Cria atomicamente um novo arquivo vazio nomeado por este nome de caminho abstrato se e somente se um arquivo com este nome ainda não existir. Retorna verdadeiro se o arquivo nomeado não existe e foi criado com sucesso; false se o arquivo nomeado já existir.

15

public boolean delete()

Exclui o arquivo ou diretório indicado por este nome de caminho abstrato. Se este nome de caminho denota um diretório, então o diretório deve estar vazio para ser excluído. Retorna verdadeiro se e somente se o arquivo ou diretório for excluído com sucesso; caso contrário, false.

16

public void deleteOnExit()

Solicita que o arquivo ou diretório indicado por este nome de caminho abstrato seja excluído quando a máquina virtual for encerrada.

17

public String[] list()

Retorna uma matriz de strings que nomeia os arquivos e diretórios no diretório indicado por este nome de caminho abstrato.

18

public String[] list(FilenameFilter filter)

Retorna uma matriz de strings que nomeia os arquivos e diretórios no diretório denotado por este nome de caminho abstrato que satisfaz o filtro especificado.

20

public File[] listFiles()

Retorna uma matriz de nomes de caminhos abstratos denotando os arquivos no diretório denotados por este nome de caminho abstrato.

21

public File[] listFiles(FileFilter filter)

Retorna uma matriz de nomes de caminhos abstratos denotando os arquivos e diretórios no diretório denotado por este nome de caminho abstrato que satisfazem o filtro especificado.

22

public boolean mkdir()

Cria o diretório nomeado por este nome de caminho abstrato. Retorna verdadeiro se e somente se o diretório foi criado; caso contrário, false.

23

public boolean mkdirs()

Cria o diretório nomeado por este nome de caminho abstrato, incluindo qualquer diretório pai necessário, mas inexistente. Retorna verdadeiro se e somente se o diretório foi criado, junto com todos os diretórios pais necessários; caso contrário, false.

24

public boolean renameTo(File dest)

Renomeia o arquivo indicado por este nome de caminho abstrato. Retorna verdadeiro se e somente se a renomeação for bem-sucedida; caso contrário, false.

25

public boolean setLastModified(long time)

Define a hora da última modificação do arquivo ou diretório nomeado por este nome de caminho abstrato. Retorna verdadeiro se e somente se a operação foi bem-sucedida; caso contrário, false.

26

public boolean setReadOnly()

Marca o arquivo ou diretório nomeado por este nome de caminho abstrato de forma que apenas operações de leitura sejam permitidas. Retorna verdadeiro se e somente se a operação foi bem-sucedida; caso contrário, false.

27

public static File createTempFile(String prefix, String suffix, File directory) throws IOException

Cria um novo arquivo vazio no diretório especificado, usando o prefixo e cadeias de sufixo fornecidos para gerar seu nome. Retorna um nome de caminho abstrato denotando um arquivo vazio recém-criado.

28

public static File createTempFile(String prefix, String suffix) throws IOException

Cria um arquivo vazio no diretório de arquivo temporário padrão, usando o prefixo e sufixo fornecidos para gerar seu nome. Invocar este método é equivalente a invocar createTempFile (prefix, suffix, null). Retorna o nome do caminho abstrato denotando um arquivo vazio recém-criado.

29

public int compareTo(File pathname)

Compara dois nomes de caminhos abstratos lexicograficamente. Retorna zero se o argumento for igual a este nome de caminho abstrato, um valor menor que zero se este nome de caminho abstrato for lexicograficamente menor que o argumento ou um valor maior que zero se este nome de caminho abstrato for lexicograficamente maior que o argumento.

30

public int compareTo(Object o)

Compara este caminho abstrato com outro objeto. Retorna zero se o argumento for igual a este nome de caminho abstrato, um valor menor que zero se este nome de caminho abstrato for lexicograficamente menor que o argumento ou um valor maior que zero se este nome de caminho abstrato for lexicograficamente maior que o argumento.

31

public boolean equals(Object obj)

Testa a igualdade deste nome de caminho abstrato com o objeto fornecido. Retorna verdadeiro se e somente se o argumento não for nulo e for um nome de caminho abstrato que indica o mesmo arquivo ou diretório que este nome de caminho abstrato.

32

public String toString()

Retorna a string de nome do caminho deste nome de caminho abstrato. Esta é apenas a string retornada pelo método getPath ().

Exemplo

A seguir está um exemplo para demonstrar o objeto File -

package com.tutorialspoint;
import java.io.File;

public class FileDemo {
   
   public static void main(String[] args) {
      File f = null;
      String[] strs = {"test1.txt", "test2.txt"};
      try {
         // for each string in string array 
         for(String s:strs ) {
            // create new file
            f = new File(s);
            
            // true if the file is executable
            boolean bool = f.canExecute();
            
            // find the absolute path
            String a = f.getAbsolutePath(); 
            
            // prints absolute path
            System.out.print(a);
            
            // prints
            System.out.println(" is executable: "+ bool);
         } 
      } catch (Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

Considere que há um arquivo executável test1.txt e outro arquivo test2.txt não é executável no diretório atual. Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

Resultado

/home/cg/root/2880380/test1.txt is executable: false
/home/cg/root/2880380/test2.txt is executable: false