El directorio es la estructura organizadora del sistema de archivos de la computadora que no solo es responsable de almacenar archivos sino también de ubicarlos en la memoria. La estructura de organización de archivos es una estructura jerárquica que involucra relaciones entre padres e hijos, tal como existe en las estructuras de datos de árbol. Varía de los sistemas operativos, más bien la eficiencia del sistema operativo se mide con la facilidad de la estructura de organización de archivos para los usuarios finales.
Las siguientes clases en Java están presentes allí para enumerar el contenido del directorio
- java.nio.file.Archivos
- org.apache.commons.io.FileUtils
- java.io.Archivo
La estructura jerárquica de Directorio
Requisito previo: Comandos de archivo y directorio
- Comando de terminal utilizado para compilar cualquier código java en la máquina
- Comando de terminal utilizado para ejecutar cualquier código java en la máquina
java class_name.java // For Compilation java class_name // For Execution
Acción | Dominio |
---|---|
Para navegar al directorio raíz | discos compactos / |
Para navegar a su directorio de inicio | discos compactos |
Para navegar hacia arriba un nivel de directorio | discos compactos .. |
Para navegar al directorio anterior | discos compactos – |
Para buscar archivos dentro del directorio de la instancia actual | ls |
Enfoque: Hay dos enfoques estándar para acceder al directorio en Java. La discusión sobre los enfoques se da a continuación:
- Enfoque 1: Usar el método listFiles()
- Enfoque 2: Uso de ataque de fuerza bruta
Enfoque 1: método listFiles() para almacenar todos los archivos en una array para imprimir todos los archivos presentes en la carpeta actual.
Aquí está la implementación para el mismo.
Java
// Java Program to Display all directories in a directory // Importing Classes/Files import java.io.*; // Importing specific File Class for directory access import java.io.File; class GFG { // Main Driver code public static void main(String[] args) { // Creating object of class File where // Dot represents the current directory File currentDir = new File("."); displayDirectory(currentDir); } // Function displaying all the directories // present in the directory public static void displayDirectory(File dir) { try { File[] files = dir.listFiles(); // For-each loop for iteration for (File file : files) { // Checking of file inside directory if (file.isDirectory()) { // Display directories inside directory System.out.println( "directory:" + file.getCanonicalPath()); displayDirectory(file); } // Simply get the path else { System.out.println( " file:" + file.getCanonicalPath()); } } } // if any exceptions occurs printStackTrace catch (IOException e) { e.printStackTrace(); } } }
Salida: Terminal que muestra todos los directorios en un directorio
Enfoque 2: ahora, aquí simplemente se tiene en cuenta el ataque de fuerza bruta, que consiste en acceder al directorio dado y simplemente imprimir los directorios/archivos presentes en la carpeta especificada. Aquí está la implementación para el mismo.
Java
// Java Program to Display all directories in a directory // Importing Classes/Files import java.io.*; public class GFG { // Driver main method public static void main(String[] args) { /*For windows user write path in below format-: ("F:\\folder name \\ subfolder") */ // Creating new instance of File File file = new File("/Desktop"); // returns an array of all files String[] fileList = file.list(); for (String str : fileList) { System.out.println(str); } } }
Producción:
Este código accede a través del volumen de la red.
Nota: En el ejemplo anterior, hemos escrito la ruta para el usuario de Linux . Para los usuarios de Windows, debe usar una barra invertida doble al especificar la ruta. Es porque el carácter \ se usa como carácter de escape en Java. Por lo tanto, la primera barra invertida se usa como carácter de escape para la segunda.
Publicación traducida automáticamente
Artículo escrito por krishna_97 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA