Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1259 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [RESOLU][java] recupérer la taille d'un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU][java] recupérer la taille d'un fichier

n°136473
kakou
bin voila
Posté le 08-05-2002 à 19:52:37  profilanswer
 

je voudrais récup la taille d'un fichier sur le hdd ou au pire venant d'une url, vous savez comment faire?

 

[jfdsdjhfuetppo]--Message édité par kakou le 08-05-2002 à 19:59:26--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 08-05-2002 à 19:52:37  profilanswer
 

n°136479
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-05-2002 à 20:10:52  profilanswer
 

Si tu laisses ton topic dis au moins comment tu as fait pour le résoudre, comme ça quelqu'un qui fait une recherche trouvera la réponse...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°150038
bobuse
Posté le 03-06-2002 à 15:39:16  profilanswer
 

ouais, c'est vrai ça !

n°150045
darklord
You're welcome
Posté le 03-06-2002 à 15:42:20  profilanswer
 

pour ceux que ca intéresse, il faut créer une instance de File avec le fichier en question et appliquer length() dessus
 

Citation :


length
public long length()Returns the length of the file denoted by this abstract pathname. The return value is unspecified if this pathname denotes a directory.  
 
Returns:
The length, in bytes, of the file denoted by this abstract pathname, or 0L if the file does not exist  


---------------
Just because you feel good does not make you right
n°180685
kakou
bin voila
Posté le 23-07-2002 à 13:31:29  profilanswer
 

c'est ce que j'ai utiliser la methode length
 
je l'avais po vu dans la doc

n°243384
xtoune
Posté le 12-11-2002 à 11:38:51  profilanswer
 

et comment on recupere la taille d'un repertoire et de tous se kil contient ????
 

n°243390
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 11:42:41  profilanswer
 

On se la paluche à la main, en récupérant toutes les entrées File du répertoire et en faisant la somme de leur taille respective (éventuellement de manière récursive si tu veux aussi la taille cumulée des fichiers des sous-répertoires).

n°243398
xtoune
Posté le 12-11-2002 à 11:51:54  profilanswer
 

j'y avais bien pensé mais je me suis dis c le truc de bourrin et ki doit bien y avoir une methode en java qui le fé plus proprement
 
non ?

n°243407
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-11-2002 à 11:57:27  profilanswer
 

Ba en tout cas, demande-toi comment ferait la méthode Java toute propre pour déterminer la taille du contenu du répertoire :) Elle ferait du récursif, tout simplement, y a pas d'magie ;)


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°243520
xtoune
Posté le 12-11-2002 à 15:07:02  profilanswer
 

pkoi ca marche pô ??
 
[code]
 
  public long tailleRepertoire(File raa){
    String list [];
    File r= new File("c:/projetarchivage/archi1/" );
    long taille=0;
    File f;
    if (r.isDirectory()){
      list = r.list();
      for (int i = 0; i < list.length; i++){
        f= new File(list[i]);
        taille=taille+f.length();
        System.out.println(":"+f.getName()+": "+f.length());
      }
    }
    return taille;
  }

mood
Publicité
Posté le 12-11-2002 à 15:07:02  profilanswer
 

n°243521
xtoune
Posté le 12-11-2002 à 15:08:32  profilanswer
 

il m'affiche  bien le nom des fichiers mais pour la taille il me marque 0
 
PS :Il n'y pas de sous repertoire

n°243532
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 15:32:01  profilanswer
 

Il manque un else :

Code :
  1. public long tailleRepertoire(File raa) {
  2.     File  r = new File("c:/projetarchivage/archi1/" );
  3.     long  taille;
  4.     if (r.isDirectory()) {
  5.       String[] list = r.list();
  6.       taille = 0;
  7.       for (int i = 0; i < list.length; i++) {
  8.         File  f = new File(list[i]);
  9.         taille += f.length();
  10.         System.out.println(":" + f.getName() + ": " + f.length());
  11.       }
  12.     }
  13.     else {
  14.       taille = r.length();
  15.     }
  16.     return taille;
  17.   }


 
PS: Une balise [/code], c'est utile... ;)
Et la balise [cpp], c'est encore mieux !


Message édité par BifaceMcLeOD le 12-11-2002 à 15:34:43
n°243537
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 15:33:59  profilanswer
 

A part ça, le paramètre de la fonction n'est pas très utile ici. A moins qu'il soit destiné à remplacer la variable locale "r"...

n°243558
xtoune
Posté le 12-11-2002 à 16:02:18  profilanswer
 

BifaceMcLeOD a écrit a écrit :

A part ça, le paramètre de la fonction n'est pas très utile ici. A moins qu'il soit destiné à remplacer la variable locale "r"...




 
 
Ben oui c pour apres.
 
Sinon je vois pas se que ca change de mettre le else puisque c forcement un repertoire que je lui fil

n°243673
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 18:06:27  profilanswer
 

Au temps pour moi.
 
Bah là, je sèche, il faut que je réfléchisse...
 
edit> Je sèche d'autant plus que ta fonction, chez moi, elle marche :


$ java -classpath . TestFile
:FileSystemModel.java: 4176
:Test.java: 1756
:Test2.java: 1083
:TestFile.class: 1015
:TestFile.java: 706
:TestFile.java~: 675
:TestParseInt.class: 828
:TestParseInt.java: 295
:TestParseInt.java~: 287
:TreeTableExample0.java: 1169
:TreeTableExample3.java: 7166
:Triangles.java: 574
Taille: 19730


 
En mettant ta fonction dans une classe TestFile qui contient le main suivant :

Code :
  1. public static void main(String[] arguments) {
  2.         System.out.println("Taille: " + tailleRepertoire(new File("." )));
  3.     }


(il faut aussi mettre la fonction statique)
 
Seule réponse que je peux t'apporter : ce n'est pas un répertoire (d'où l'utilité du "else" ;) ), ou ce chemin n'existe pas.


Message édité par BifaceMcLeOD le 12-11-2002 à 18:10:46
n°243681
xtoune
Posté le 12-11-2002 à 18:15:05  profilanswer
 

je comprend pas paskil me marque bien les nom des fichiers mais  
la taille est a 0
 
 
:ArchConst.java: 0
:archi1123456ab.cdetestzip: 0
:archi1admin.exetestzip: 0
:Archivage.java: 0
:CadreArchiver.java: 0
:CadreInfo.java: 0
:CadreMenu.java: 0
:CadreRestaurer.java: 0
:CompressZip.java: 0
:DecompressZip.java: 0
:List.java: 0
:MainFrame.java: 0
:Traitement.java: 0
:video2.mpg: 0

n°243683
BifaceMcLe​OD
The HighGlandeur
Posté le 12-11-2002 à 18:18:38  profilanswer
 

Tu utilises quel JDK et quel OS ?

n°243897
xtoune
Posté le 13-11-2002 à 09:25:11  profilanswer
 

win xp et le j2SE 1.3.1

n°244175
xtoune
Posté le 13-11-2002 à 15:05:40  profilanswer
 

ca pete les c.... , pour l'instant j'avance dans mon prog mais faudra bien que ca marche un jour.....


---------------
heu...
n°244912
xtoune
Posté le 14-11-2002 à 08:32:47  profilanswer
 

voila j'ai trouvé le pb en me brossant les dents ce matin
le probleme est que r.list retourne juste les nom de fichier sans leur chemin. donc r.length() ne trouve pas le fichier et donc sa taille
 

Code :
  1. public long tailleRepertoire(String chemin){
  2.     String list [];
  3.     File r= new File(chemin);
  4.     File f=null;
  5.     long taille=0;
  6.     if (r.isDirectory()){
  7.       list = r.list();
  8.       for (int i = 0; i < list.length; i++){
  9.         f= new File(chemin+list[i]);
  10.         taille=taille+f.length();
  11.       }
  12.     }else{
  13.       return -1;
  14.     }
  15.     return taille;
  16.   }


Message édité par xtoune le 14-11-2002 à 08:35:58

---------------
heu...
n°245034
BifaceMcLe​OD
The HighGlandeur
Posté le 14-11-2002 à 11:59:16  profilanswer
 

C'est fou ce qu'on peut faire en se lavant les dents... :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [RESOLU][java] recupérer la taille d'un fichier

 

Sujets relatifs
[ Unix Java ] socket - transfert limité à 256 octets ?!!![java] peut etre con mais j aimerai comprendre
[java] afficher une page html à l'intérieur d'une applet[Linux] Utiliser les montages de VFS, creer un syst de fichier
[JAVA]probleme de transtypage de Object vers autre chose[JAVA] Créer un jar exécutable
[JAVA] Récuperation d'un entier avec interface graphiqueTransformer un prog java en .exe ???
Gestion de bases XML en Java : quels tools a utiliser ?.Synchronized en Java servlets
Plus de sujets relatifs à : [RESOLU][java] recupérer la taille d'un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR