| @ -1,11 +1,123 @@ | |||||
| package listarFichero; | package listarFichero; | ||||
| public class listarFichero { | |||||
| public static void main(String[] args) { | |||||
| System.out.println("Hola"); | |||||
| System.out.println("hola"); | |||||
| import java.io.File; | |||||
| import java.util.Calendar; | |||||
| import java.util.Date; | |||||
| import java.util.GregorianCalendar; | |||||
| import java.util.Objects; | |||||
| public class listarFichero { | |||||
| public static void main(String[] args) { | |||||
| File path = new File(System.getProperty("user.dir")); | |||||
| File path3 = new File("/home/minumichaelubuntu/Documents/gitHub/OOP"); | |||||
| // File path2 = new File((".")); | |||||
| // File windowsPath = new File(("..//")); | |||||
| // System.out.println(printSize(path2)); | |||||
| listarDirectorio(path); | |||||
| // System.out.println(printSize(path3)); | |||||
| // System.out.println(printDate(path3)); | |||||
| // System.out.println(printOwnership(path3)); | |||||
| } | |||||
| public static void listarDirectorio(File file) { | |||||
| if(file.isDirectory()){ | |||||
| String[] files = file.list(); | |||||
| file.lastModified(); | |||||
| int indent = 5; | |||||
| System.out.printf("%10s %5s %6s %7s \n\n ", "NAME" ,"OWNERSHIP","SIZE", "DATE"); | |||||
| for (int i = 0; i < Objects.requireNonNull(files).length; i++) { | |||||
| System.out.printf("%10s %2s %5s %6s %2s %7s %n", files[i] , "", printOwnership(file), printSize(file),"", printDate(file)); | |||||
| } | |||||
| } | |||||
| } | |||||
| //Sacar el tamnyo del fichero | |||||
| public static String printSize(File file) { | |||||
| String resultado = ""; | |||||
| long bytes = file.length(); | |||||
| long kilobytes = (bytes / 1024); | |||||
| long megabytes = (kilobytes / 1024); | |||||
| long gigabytes = (megabytes / 1024); | |||||
| long terabytes = (gigabytes / 1024); | |||||
| long petabytes = (terabytes / 1024); | |||||
| long exabytes = (petabytes / 1024); | |||||
| long zettabytes = (exabytes / 1024); | |||||
| long yottabytes = (zettabytes / 1024); | |||||
| if(bytes > 0) { | |||||
| resultado = bytes + "B"; | |||||
| }if(kilobytes > 0) { | |||||
| resultado = kilobytes + "KB"; | |||||
| }if(megabytes > 0 ){ | |||||
| resultado = megabytes + "MB"; | |||||
| }if(gigabytes > 0 ) { | |||||
| resultado = gigabytes + "GB"; | |||||
| } | |||||
| return resultado; | |||||
| // return String.format("Size: %s", resultado); | |||||
| // return String.format("%", null) | |||||
| } | } | ||||
| public static String printDate(File file){ | |||||
| long ms = file.lastModified(); | |||||
| Date d = new Date(ms); | |||||
| Calendar c = new GregorianCalendar(); | |||||
| c.setTime(d); | |||||
| String dia, mes, annio, hora, minuto, segundo; | |||||
| dia = Integer.toString(c.get(Calendar.DATE)); | |||||
| mes = Integer.toString(c.get(Calendar.MONTH)); | |||||
| annio = Integer.toString(c.get(Calendar.YEAR)); | |||||
| hora = Integer.toString(c.get(Calendar.HOUR_OF_DAY)); | |||||
| minuto = Integer.toString(c.get(Calendar.MINUTE)); | |||||
| segundo = Integer.toString(c.get(Calendar.SECOND)); | |||||
| return (hora + ":" + minuto + ":" + segundo + " " + dia + "/" + mes +"/" + annio); | |||||
| } | |||||
| public static String printOwnership(File file) { | |||||
| String read = "", write = "", execute = ""; | |||||
| if(file.canRead() == true) { | |||||
| read = "r"; | |||||
| }else {read = "r";} | |||||
| if(file.canWrite()== true) { | |||||
| write = "w"; | |||||
| }else {write = "-";} | |||||
| if(file.canExecute() == true) { | |||||
| execute = "x"; | |||||
| }else {execute = "-";} | |||||
| return String.format("%s %s %s", read, write, execute); | |||||
| } | |||||
| } | } | ||||