Necesito un método válido para comprobar si un String
representa una ruta para el archivo o un directorio. ¿Cuáles son los nombres de directorio válidos en Android? A medida que sale, los nombres de las carpetas pueden contener caracteres '.'
, entonces, ¿cómo entiende el sistema si hay un archivo o una carpeta? Gracias por adelantado.Compruebe si una ruta representa un archivo o una carpeta
Respuesta
Asumiendo path
es su String
.
File file = new File(path);
boolean exists = file.exists(); // Check if the file exists
boolean isDirectory = file.isDirectory(); // Check if it's a directory
boolean isFile = file.isFile(); // Check if it's a regular file
Ver File
Javadoc
o puede utilizar la clase NIO Files
y comprobar cosas como esta:
Path file = new File(path).toPath();
boolean exists = Files.exists(file); // Check if the file exists
boolean isDirectory = Files.isDirectory(file); // Check if it's a directory
boolean isFile = Files.isRegularFile(file); // Check if it's a regular file
Como mencioné en mi pregunta, solo tengo instancias de cadenas y ninguna instancia de archivo, y no puedo crearlas. – Egor
'ruta' en mi ejemplo es' Cadena'. ¿Por qué no puedes crear una instancia de 'archivo'? Tenga en cuenta que esto no cambiará nada en el sistema de archivos. – Baz
Aquí hay un ejemplo concreto, estoy tratando de crear un archivo usando la siguiente ruta:/mnt/sdcard/arc/root, y para isDirectory() devuelve falso. ¿Cuál es el problema aquí? – Egor
Para comprobar si una cadena representa una ruta o un archivo mediante programación, debe utilizar métodos de API como isFile(), isDirectory().
¿Cómo entiende el sistema si hay un archivo o una carpeta?
Supongo que las entradas de archivos y carpetas se guardan en una estructura de datos y es administrada por el sistema de archivos.
String path = "Your_Path";
File f = new File(path);
if (f.isDirectory()){
}else if(f.isFile()){
}
Por favor, se adhieren a la API nio para realizar estas comprobaciones
import java.nio.file.*;
static Boolean isDir(Path path) {
if (path == null || !Files.exists(path)) return false;
else return Files.isDirectory(path);
}
solución limpia durante su estancia con la API nio:
Files.isDirectory(path)
Files.isRegularFile(path)
No hay manera para que el sistema dirá si un String
representa un file
o directory
, si no existe en el sistema de archivos. Por ejemplo:
Path path = Paths.get("/some/path/to/dir");
System.out.println(Files.isDirectory(path)); // return false
System.out.println(Files.isRegularFile(path)); // return false
Y para el siguiente ejemplo:
Path path = Paths.get("/some/path/to/dir/file.txt");
System.out.println(Files.isDirectory(path)); //return false
System.out.println(Files.isRegularFile(path)); // return false
Y vemos que tanto en el caso del sistema return false. Esto es cierto para ambos java.io.File
y java.nio.file.Path
- 1. Compruebe si una cadena es una ruta válida de directorio (carpeta) de Windows
- 2. Compruebe si existe una inclusión (o requiere)
- 3. Compruebe si una ruta es absoluta o relativa
- 4. Compruebe si una carpeta es un recurso local o de red en .NET
- 5. Compruebe si un argumento es una lista o un átomo
- 6. Comprobar si un nombre de archivo es una carpeta o un archivo
- 7. Compruebe si existe un archivo/directorio: ¿hay una mejor manera?
- 8. Compruebe si una clase tiene un método
- 9. Compruebe si un formulario tiene una clave?
- 10. Python: compruebe si un archivo está vacío o no
- 11. ftplib comprobando si un archivo es una carpeta?
- 12. Compruebe si una función tiene un decorador
- 13. Compruebe si una variable es una matriz
- 14. compruebe si una cadena es una URL
- 15. Compruebe si un archivo está abierto
- 16. Maven: agregue una carpeta o archivo jar al classpath actual
- 17. ¿Cómo comprobar si un archivo existe en una carpeta?
- 18. Reescribir ruta solo si el archivo/carpeta no existe
- 19. Compruebe si se escanea un archivo PDF
- 20. Determinar si una ruta dentro de un NSString es a un directorio, o un archivo?
- 21. Compruebe si una cadena contiene una subcadena
- 22. C# ¿Cómo saber si una ruta determinada representa un disco raíz?
- 23. Compruebe si NSDate contiene una fecha o está vacía
- 24. compruebe si un archivo es ejecutable
- 25. ¿Cómo puedo saber si una ruta determinada es un directorio o un archivo? (C/C++)
- 26. Compruebe si una ventana es emergente o no?
- 27. Compruebe si una cadena contiene la fecha o no
- 28. Compruebe si existe una carpeta en un directorio y créelas con C#
- 29. ¿Cómo probar si una ruta es un archivo o directorio en el archivo por lotes de Windows?
- 30. Compruebe si existe un archivo ejecutable en la ruta de Windows
"¿Cómo entiende el sistema si hay un archivo o una carpeta": ¿Cómo puede el sistema * no * comprender? Está allí en el disco en el sistema de archivos y es uno o el otro. – EJP