
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.
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
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.
lineadecodigo
@Lobo,
También lo he testeado con imágenes y funciona bien.
lineadecodigo
@Alberto,
Lo he probado con fichero grandes (de Gigas) y devuelve la información correctamente.
Lobo
A mi me funciona para algunos, pero por ejemplo para archivos .jpg me saca 0. No entiendo por qué.
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(«»);
Alberto
Yo lo he utilizado y me da 0.
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.