diff --git a/README.md b/README.md index db229d9..628d6f0 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,27 @@ -# Title - -## Install +# MiDir ## Usage +Métodos de la clsae File usados -## - -# Encabezado h1 -## Encabezado h2 -### Encabezado h3 -#### Encabezado h4 -##### Encabezado h5 -###### Encabezado h6 - -> La vida es muy corta para aprender alemán. -Tad Marburg +Nombre Descripción Parámetros Dato devuelto -*énfasis* (cursiva) +isDirectory Indica si el objeto File es un directorio. Ninguno. boolean +isFile Indica si el objeto File es un fichero. Ninguno. boolean +getName Devuelve una cadena con el nombre del fichero o directorio. -**énfasis fuerte** (negrita) +Para los permisos +canRead Indica si se puede leer. Ninguno. boolean +canWrite Indica si se puede escribir. Ninguno. boolean +canExecute Indica si se puede ejecutar. -`Código` -``` [language] -Código en -varias líneas ``` -Listas: - -* Un elemento en una lista no ordenada -* Otro elemento en una lista -1. Elemento en una lista enumerada u ordenada. -2. Otro elemento -Enlaces: - -[Texto del enlace aquí](URL "Título del enlace") -Imágenes: - -![Texto alternativo](URL "Título de la imagen") \ No newline at end of file +PERMISOS TIPO TAMAÑO NOMBRE + rwx f 12,42 KB Android.docx + rwx f 3,73 MB prac_instalació_android_studio.pdf + rwx f 194,13 KB Presentació_programació_multimedia_i_dispositius_mòbils.pdf + rwx f 454,39 KB Presentació_Tutoria.pdf + rwx d 0,00 bytes T1 + rwx d 0,00 bytes T2 + rwx d 4,00 KB T3 + rwx d 4,00 KB T4 + ``` \ No newline at end of file diff --git a/bin/com/antoniotorres/MiDir$UnidadMedida.class b/bin/com/antoniotorres/MiDir$UnidadMedida.class new file mode 100644 index 0000000..9894b39 Binary files /dev/null and b/bin/com/antoniotorres/MiDir$UnidadMedida.class differ diff --git a/bin/com/antoniotorres/MiDir.class b/bin/com/antoniotorres/MiDir.class index 07f1f3f..590189f 100644 Binary files a/bin/com/antoniotorres/MiDir.class and b/bin/com/antoniotorres/MiDir.class differ diff --git a/src/com/antoniotorres/MiDir.java b/src/com/antoniotorres/MiDir.java index 5135461..0810179 100644 --- a/src/com/antoniotorres/MiDir.java +++ b/src/com/antoniotorres/MiDir.java @@ -3,16 +3,76 @@ package com.antoniotorres; import java.io.File; public class MiDir { - public static void main(String[] args) { - System.out.println("INFORMACION SOBRE FICHEROS"); + enum UnidadMedida { + BYTE, KB, MB, GB, TB, PB, EB, ZB, YB; + public UnidadMedida next() { + UnidadMedida[] unidades = UnidadMedida.values(); + int ordinal = this.ordinal(); + ordinal = ++ordinal % unidades.length; + return unidades[ordinal]; + } + + @Override + public String toString() { + switch (this) { + case BYTE: + return "bytes"; + case KB: + return "KB"; + case MB: + return "MB"; + case GB: + return "GB"; + case TB: + return "TB"; + case PB: + return "PB"; + case EB: + return "EB"; + case ZB: + return "ZB"; + case YB: + return "YB"; + } + return ""; + } + } + + public static void main(String [] args) { + + System.out.println("PERMISOS TIPO\t\tTAMAÑO\t\t\tNOMBRE"); + listarDirectorio("C:\\Users\\Anto.LAPTOP-CR44LNOV\\Desktop\\PMDM"); + + /*System.out.println("INFORMACION SOBRE FICHEROS"); File f = new File("."); String[] archivos = f.list(); for (int i = 0; i < archivos.length; i++) { System.out.println(archivos[i]); - } + }*/ + } - + + public static void listarDirectorio(String directorio) { + File f1 = new File(directorio); + File[] ficheros = f1.listFiles(); + UnidadMedida unidad; + for(int i = 0; i < ficheros.length; i++) { + unidad = UnidadMedida.BYTE; + String nombre = ficheros[i].getName(); + char tipo = ficheros[i].isDirectory() ? 'd' : 'f'; + double size = ficheros[i].length(); + while(size > 1024) { + size = size / 1024; + unidad = unidad.next(); + } + String permisos = ficheros[i].canRead() ? "r" : "-"; + permisos += ficheros[i].canWrite() ? "w" : "-"; + permisos += ficheros[i].canExecute() ? "x" : "-"; + System.out.printf(" %-3s \t %c %15.2f %-6s \t %-20s\n",permisos, tipo, size, unidad.toString(), nombre); + } + } + }