Problemas con directorio

Iniciado por Ruusa, 16 Octubre 2020, 00:39 AM

0 Miembros y 1 Visitante están viendo este tema.

Ruusa

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();
}


}

K-YreX

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.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

rub'n

Sera que tus archivos no contienen nada...


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


Código (java) [Seleccionar]

try {
           
           final Path path = Paths.get("src/main/resources/report.pdf");
           long largo = Files.size(path);
           Notification.show("Name: " + path.getFileName().toString().concat(": "+ largo));

       } catch (IOException e) {
           e.printStackTrace();
       }


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

Danielㅤ

Hola, primero ese código no está bien indentado, segundo ésto está demás:

Código (java) [Seleccionar]
archivo.createNewFile();
archivo2.createNewFile();


Prueba de nuevo y nos comentas.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!