Verificar se existe um ficheiro em Java
-
Utilize
java.io.Filepara verificar se um ficheiro existe em Java -
Utilize
isFile()para verificar se o ficheiro existe em Java -
Utilize
Path.isFile()ComisFile()para verificar se o ficheiro existe ou não
Este artigo analisará algumas formas simples em Java para verificar se um ficheiro existe. Utilizaremos diferentes pacotes e classes quando quisermos saber se o ficheiro especificado existe.
Utilize java.io.File para verificar se um ficheiro existe em Java
O próprio pacote E/S de Java java.io.File tem o método exists() para verificar se o ficheiro especificado existe. Esta função retorna boolean, o que significa que podemos colocá-lo numa declaração condicional.
Mas há um problema em utilizar apenas o método exists(), uma vez que também pode retornar true se especificarmos acidentalmente um directório. É por isso que também utilizaremos !file.isDirectory() para garantir que o argumento dado é um ficheiro mas não um directório.
import java.io.File;
public class Main {
public static void main(String[] args) {
File file1 = new File("sampleFile.txt");
File file2 = new File("xyz.txt");
// Checks if file1 exists
if (file1.exists() && !file1.isDirectory()) {
System.out.println(file1 + " Exists");
} else {
System.out.println(file1 + " Does not exists");
}
// Checks if file2 exists
if (file2.exists()) {
System.out.println(file2 + " Exists");
} else {
System.out.println(file2 + " Does not exists");
}
}
}
Resultado:
sampleFile.txt Exists xyz.txt Does not exists
Utilize isFile() para verificar se o ficheiro existe em Java
O método seguinte para verificar se o ficheiro especificado existe é utilizar a função isFile() do mesmo pacote java.io.File que utilizámos no exemplo anterior.
A vantagem de utilizar isFile() sobre exists() é que não temos de verificar se o ficheiro especificado é um directório ou não. Como o nome da função indica, apenas verifica se se trata ou não de um ficheiro.
import java.io.File;
public class Main {
public static void main(String[] args) {
File file = new File("sampleFile.txt");
File directory = new File("E:/Work/java");
if (file.isFile()) {
System.out.println(file + " Exists");
} else {
System.out.println(file + " Do not Exist or it is a directory");
}
if (directory.isFile()) {
System.out.println(directory + " Exists");
} else {
System.out.println(directory + " Do not Exist or it is a directory");
}
}
}
Resultado:
sampleFile.txt Exists E :\Work\java Do not Exist or it is a directory
Podemos ver que se um directório existente é dado como argumento para a função isFile(), ele retorna false.
Utilize Path.isFile() Com isFile() para verificar se o ficheiro existe ou não
Outro pacote Java java.nio.file fornece-nos métodos úteis como toFile() e Paths. Podemos obter o path utilizando Paths.get() e depois convertê-lo para ficheiro utilizando toFile.
Finalmente, podemos trazer de volta o método que utilizámos no último exemplo, isFile(), e combiná-lo para verificar se o ficheiro existe.
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("sampleFile.txt");
if (path.toFile().isFile()) {
System.out.println(path + " Exists");
} else {
System.out.println(path + " Do not Exists");
}
}
}
Resultado:
sampleFile.txt Exists
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn