Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Ruusa en 16 Octubre 2020, 00:39 am



Título: Problemas con directorio
Publicado por: Ruusa en 16 Octubre 2020, 00:39 am
Hola buenas noches, tengo un problema al mostrar la longitud del directorio, aunque haya archivos dentro de el me muestra que la longitud es 0 y nose porque, si alguien me puede ayudar se lo agradecería.

import java.io.*;
import java.util.ArrayList;

public class Directorio {
static File directorio;


public void crearDirectorio () {

try {
File directorio = new File("directorio");
directorio.mkdir();
File archivo = new File(directorio,"archivo.txt");
File archivo2 = new File(directorio,"archivo2.txt");
archivo.createNewFile();
archivo2.createNewFile();
System.out.println(directorio.length()); //aqui quiero mostrar la longitud del directorio, tiene dos archivos dentro
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}



public static void mostrarDirectorio() {
File mostrar = new File(directorio.getAbsolutePath());
String[] archivos = mostrar.list();
for (int i=0; i<archivos.length; i++) {
System.out.println(archivos);
}
}




public static void main(String[] args) {
Directorio d = new Directorio();
d.crearDirectorio();
//d.mostrarDirectorio();
}


}


Título: Re: Problemas con directorio
Publicado por: K-YreX en 16 Octubre 2020, 00:52 am
Coloca tu código entre etiquetas de Código GeSHi, abriendo el desplegable que hay encima del cuadro de texto llamado Código GeSHi y seleccionando Java como el lenguaje para las etiquetas.

Un directorio es una estructura lógica para organizar ficheros por lo tanto un directorio no tiene tamaño (suele aparecer 4096 pero esto si mal no recuerdo se debe al inodo correspondiente a ese directorio).

Si quieres calcular el tamaño de un directorio tendrás que sumar el tamaño de todos sus ficheros y si encuentras directorios dentro tendrás que hacer lo mismo dentro de ese directorio.


Título: Re: Problemas con directorio
Publicado por: rub'n en 19 Octubre 2020, 15:49 pm
Sera que tus archivos no contienen nada...


Esto tambien sirve, y me muestra el largo de ese pdf en ese path


Código
  1. try {
  2.  
  3.            final Path path = Paths.get("src/main/resources/report.pdf");
  4.            long largo = Files.size(path);
  5.            Notification.show("Name: " + path.getFileName().toString().concat(": "+ largo));
  6.  
  7.        } catch (IOException e) {
  8.            e.printStackTrace();
  9.        }
  10.  


Título: Re: Problemas con directorio
Publicado por: Danielㅤ en 19 Octubre 2020, 17:41 pm
Hola, primero ese código no está bien indentado, segundo ésto está demás:

Código
  1. archivo.createNewFile();
  2. archivo2.createNewFile();

Prueba de nuevo y nos comentas.


Saludos