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