File.isFile()
y File.isDirectory()
ambos devuelven falso no solo cuando el File
no es el tipo especificado, sino también cuando el File
no existe en el sistema de archivos. ¿Cómo puedo determinar si el File
representa un archivo o un directorio cuando no existe?¿Cómo puedo averiguar si un archivo es un archivo o directorio si no existe?
Respuesta
En general, una ruta específica puede representar tanto un directorio y un archivo. Hasta que no haya un directorio o un archivo creado en esa ruta, la noción de que sea para uno u otro no es válida.
Sin embargo, hay un caso especial. Si la ruta termina con un separador de ruta ('/' en sistemas tipo Unix, '\' en Windows y tal vez algo completamente diferente en otros sistemas), entonces al menos en sistemas tipo Unix, la ruta no puede ser la de un archivo. No sé si esto es válido para todos los sistemas.
Prueba File.exists() primero.
pseudo-código (porque no hago Java :)):
If File.Exists()
{
If File.isFile()
{
bIsFile = true;
}elseif File.isFolder()
{
bIsFolder = true;
}else
{
//Handle error condition here
}
}else
{
//It does not exist. Handle that here if you care to
}
No se puede
existe el archivo debe en primer lugar para saber lo que ES (entiendo que si no existe el archivo no es nada todavía)
el Javadoc dice tanto casos:
verdadero si y sólo si el fichero denotado por esta vía de acceso abstracta existe y [...]
Un archivo que aún no existe puede ser potencialmente.
Creo que la respuesta es que no se puede. Parte de la razón es que simplemente no existe. El resto del motivo tiene que ver con la independencia del sistema de Java. Dependiendo del sistema operativo en el que se esté ejecutando, no existe realmente una diferencia entre un archivo y un directorio. En UNIX, por ejemplo, todo es un archivo. Tuberías, directorios, enlaces: todos son técnicamente archivos.
Tal como está, la ruta de acceso abstracta referenciada por el objeto Archivo puede ser cualquiera - hasta que realice mkdir()
o createNewFile()
en ella.
Su pregunta es como preguntar esto:
"¿Cómo puedo saber si esta caja contiene un gato o un perro cuando está vacío"
A primera vista, esta pregunta no tiene sentido, al igual que la tuya. Si un archivo es una ruta hace referencia a un objeto de sistema de archivos inexistente (es decir, a "nada"), entonces pregunta si ese "nada" >> es < < un archivo o un directorio no tiene sentido. Obviamente, ninguno de los dos.
Específicamente, en cualquier instante en el tiempo con todos los siguientes predicados HOLD:
file.exists() == false IMPLIES
file.isDirectory() == false AND file.isFile() == false
file.isDirectory() == true OR file.isFile() == true IMPLIES
file.exists() == true
file.isDirectory() == true IMPLIES
file.isFile() == false
file.isFile() == true IMPLIES
file.isDirectory() == false
- 1. ¿cómo puedo verificar si existe un archivo?
- 2. ¿Cómo comprobar si existe un directorio que contiene un archivo?
- 3. ¿Cómo ver si existe un directorio o no en Perl?
- 4. Crear un archivo solo si no existe
- 5. ¿Cómo puedo verificar si existe un directorio?
- 6. cómo comprobar si un archivo es un directorio o un archivo normal en python?
- 7. ¿Cómo puedo determinar si un archivo es un archivo PDF?
- 8. Cómo comprobar si un archivo existe en un archivo MAKE
- 9. ¿Cómo puedo verificar si existe o no un recurso incrustado?
- 10. prueba si el archivo no es un directorio en Perl
- 11. ¿Cómo puedo saber si una ruta determinada es un directorio o un archivo? (C/C++)
- 12. Comprobando si un archivo es un directorio o solo un archivo
- 13. comprobando si el archivo existe en un directorio específico
- 14. Compruebe si existe un archivo/directorio: ¿hay una mejor manera?
- 15. open() en Python no crea un archivo si no existe
- 16. ¿Cómo puedo verificar si existe un archivo usando Emacs Lisp?
- 17. ¿Cómo creo un directorio si no existe para crear un archivo?
- 18. ¿Cómo puedo verificar si existe un archivo en Perl?
- 19. Crear archivo si no existe el archivo
- 20. ¿Cómo comprobar si existe un archivo o directorio denotado por una ruta en Golang?
- 21. htaccess reescriba si existe un archivo redirigido
- 22. Cómo verificar si existe un archivo específico en el directorio o cualquiera de sus subdirectorios
- 23. Error al comprobar si existe un archivo
- 24. ¿Cómo crear un archivo solo si no existe?
- 25. Determinar si un archivo es un duplicado
- 26. Cómo probar si un JSONObject es nulo o no existe
- 27. comprobando si existe o no un paquete
- 28. Comprobar si un archivo es una imagen
- 29. AppleScript: ¿Cómo comprobar si algo es un directorio o un archivo
- 30. Ant: ¿Crear un directorio que contenga un archivo si aún no existe?
Pero quiero saber si se trata de un archivo o un directorio si * no * es que existe ... Si no es así –
't existen, no es ni pescado ni aves, no es nada. –
EBGreen, ¡creo que acabas de ganar el premio por la interacción de smiley/paréntesis más complicada de la historia! : o) –