2012-01-04 12 views
95

Duplicar posibles:
Size of folder or file¿Cómo conseguir el tamaño del archivo en Java

He utilizado este código para crear una instancia de un objeto File:

File f = new File(path); 

¿Cómo consigo la tamaño de este archivo?

¿Cuál es la diferencia entre getUsableSpace(), getTotalSpace() y getFreeSpace()?

+2

¿has * intentado * buscar una pregunta existente que haya respondido a tu pregunta? – Bohemian

+4

Depende; en las regiones central u oriental, use Javanese; en el resto, usa indonesio. La mayoría de los hablantes de javanés (excepto los atípicos) también hablan indonesio. ¿Esperar lo? –

Respuesta

175

Utilice el método length() en la clase File . Desde javadocs:

Devuelve la longitud del archivo indicado por esta ruta de acceso abstracta. El valor de retorno no está especificado si este nombre de ruta denota un directorio.

Para la segunda parte de la pregunta, directamente desde File javadocs 's:

  • getUsableSpace() devuelve el número de bytes disponibles para esta máquina virtual en la partición llamada por esta vía de acceso abstracta

  • getTotalSpace() Devuelve el tamaño de la partición nombrada por esta ruta de acceso abstracta

  • getFreeSpace() Devuelve el número de bytes asignados en la partición llamada por este camino abstracta nombrar

31

¿Usted intentó

long length = f.length(); 

Para las diferencias entre getUsableSpace(), getTotalSpace(), GetFreeSpace(), echar un vistazo a this mejora en J2SE 1.6

+2

El enlace de arriba parece estar roto ahora. [Este artículo] (http://www.oracle.com/technetwork/articles/javase/enhancements-136788.html) parece contener información similar – GreenGiant

14

realizó un google rápida. Parece que para encontrar el tamaño de archivo que hace esto,

long size = f.length(); 

Las diferencias entre los tres métodos en los que posteaste se pueden encontrar here

GetFreeSpace() y getTotalSpace() son bastante explica por sí mismo, getUsableSpace() parece ser el espacio que la JVM puede usar, que en la mayoría de los casos será igual a la cantidad de espacio libre.

+2

** Encontré este código solo en este sitio: y es muy útil ** public static long folderSize (Directorio de archivos) { long length = 0; for (Archivo: directory.listFiles()) { if (file.isFile()) length + = file.length(); else length + = folderSize (archivo); } longitud de retorno; } –

Cuestiones relacionadas