Verificar se existe um ficheiro em Java
-
Utilize
java.io.File
para 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