Conocer el tamaño de un fichero con Java

07/Jul/2007 Java , , 9 Comentarios
Programación en Java

Pocas líneas pueden llegar a darnos tanta información. Este es el caso en el que queramos conocer el tamaño de un fichero utilizando el lenguaje Java. Toda la información está contenida en la clase File.

Y es que lo primero que tenemos que hacer es instanciar dicha clase con la ruta, o path, del fichero sobre el que queremos obtener la información.

String sFichero = "c:\\nombredelfichero.extension";
File fichero = new File(sFichero);

Ahora solo nos quedará el invocar la propiedad .length() que nos devolverá el tamaño del fichero en bytes:

fichero.length();

Pues como decía dos líneas arriba. Muy sencillo y útil.

Vídeos sobre Java File


9 comentarios en “Conocer el tamaño de un fichero con Java”

Víctor Cuervo

Matagusanos

C:\\Users\\Pepito\\Desktop\\b.wav

Es un ejemplo de ruta absoluta (solo teneis que copiar y pegar, cambiar el usuario y la carpeta donde esta situado y el nombre del fichero :D

Víctor Cuervo

Victor

Un punto importante sobre los métodos length() y otros (como lastModified()) de la clase File.
Para que funcionen correctamente el constructor de la clase File debe llamarse con la ruta absoluta. De otro modo, devuelven 0 (al menos esos dos que yo he probado)

Puede que os esté fallando por eso.

Víctor Cuervo

lineadecodigo

@Lobo,

También lo he testeado con imágenes y funciona bien.

Víctor Cuervo

lineadecodigo

@Alberto,

Lo he probado con fichero grandes (de Gigas) y devuelve la información correctamente.

Víctor Cuervo

Lobo

A mi me funciona para algunos, pero por ejemplo para archivos .jpg me saca 0. No entiendo por qué.

Víctor Cuervo

Juan

Yo lo utilice y si me funciono, lo he utilizado con archivos .txt

Aquí mi codigo:

File fArchivoLog = new File(pathLog);
FileInputStream LogInputStream = new FileInputStream(fArchivoLog);
InputStreamReader LogStreamReader= new InputStreamReader(LogInputStream);
lineaLog = new BufferedReader(LogStreamReader);

System.out.println(«Tamaño del archivo: » + fArchivoLog.length());
System.out.println(«»);

Víctor Cuervo

Alberto

Yo lo he utilizado y me da 0.

Víctor Cuervo

Alberto

Lo he utilizado y no me da bien el tamaño del archivo ni por asomo. El Archivo por ejemplo pesa 2Mb y me dice que son 89 bytes.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*