Comment obtenir la taille d'un fichier en Java
En Java, vous pouvez utiliser la méthode File.lenght() pour connaitre la taille d'un fichier en octets (bytes).
La fonction File.lenght() retourne la longueur en bytes du fichier. La valeur retournée est indéfinie si le chemin spécifié est un répertoire.
Après l'obtention de la taille du fichier en bytes, vous pouvez la convertir selon vos besoins en megabytes, gigabytes; etc. Mais comment le faire ? C'est facile! Un byte (octet) est un regroupement de 8 bits et permet de représenter 256 valeurs possibles. Donc pour convertir un octets en bits, il suffit de multiplier par 8. Les autres unités (kilo, mega, giga, tera) sont placées dans une hiérarchie dont l'unité (n+1) en dessus est égale 1024 l'unité (n) comme montré ici:
Stackoverflow: How to get file size in java ?
Wikipédia: Octet
La fonction File.lenght() retourne la longueur en bytes du fichier. La valeur retournée est indéfinie si le chemin spécifié est un répertoire.
Après l'obtention de la taille du fichier en bytes, vous pouvez la convertir selon vos besoins en megabytes, gigabytes; etc. Mais comment le faire ? C'est facile! Un byte (octet) est un regroupement de 8 bits et permet de représenter 256 valeurs possibles. Donc pour convertir un octets en bits, il suffit de multiplier par 8. Les autres unités (kilo, mega, giga, tera) sont placées dans une hiérarchie dont l'unité (n+1) en dessus est égale 1024 l'unité (n) comme montré ici:
- un kilobyte (kilooctet) = 1024 bytes
- un megabyte (megaoctet) = 1024 kilobytes
- un gigabyte (gigaoctet) = 1024 megabytes
- un terabyte (teraoctet) = 1024 gigabyte
import java.io.File;L'exécution de ce code donne:
public class main
{
public static void main(String[] args)
{
File file =new File("C:\\test.avi");
if(file.exists()){
double bytes = file.length();
double bits = bytes * 8;
double kilobytes = bytes / 1024;
double megabytes = kilobytes / 1024;
double gigabytes = megabytes / 1024;
double terabytes = gigabytes / 1024;
System.out.println("bits : " + bits+" bits");
System.out.println("bytes : " + bytes+ " octets");
System.out.println("kilooctet : " + kilobytes+ "Ko");
System.out.println("megaoctet : " + megabytes + "Mo");
System.out.println("gigaoctet : " + gigabytes + "Go");
System.out.println("teraoctet : " + terabytes + "To");
}else{
System.out.println("Fichier innexistant");
}
}
}
bits : 4.624187392E9 bitsRéférences:
bytes : 5.78023424E8 octets
kilooctet : 564476.0Ko
megaoctet : 551.24609375Mo
gigaoctet : 0.5383262634277344Go
teraoctet : 5.257092416286469E-4To
Stackoverflow: How to get file size in java ?
Wikipédia: Octet