IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Taille d'un fichier


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut Taille d'un fichier
    Bonjour,

    J'ai un fichier dans lequel j'enregistre des evenements, une sorte de log (mais comme la class Logger ne me convenait pas, j'ai refait un truc tout simple à moi).

    Utilisation de FileWrite (java.io.FileWriter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try {
    FileWriter fileStream =new FileWriter("monpath", true);
    BufferedWriter out = new BufferedWriter(fileStream);
    out.write("blabla\n");
    out.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    Je voudrais savoir si il y a une taille max ou si je dois lui donner moi-même (mais comment du coup) et comment détecter que le fichier est plein ?

    Peut-être que je n'utilise pas la bonne classe (FileWriter) ...
    Merci pour votre aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    394
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 394
    Par défaut
    Bonjour,

    Ce code te permet d'obtenir la taille d'un fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    File file =new File("monpath");
     
    double bytes = file.length();
    double kilobytes = (bytes / 1024);
    double megabytes = (kilobytes / 1024);
    double gigabytes = (megabytes / 1024);
    double terabytes = (gigabytes / 1024);
    double petabytes = (terabytes / 1024);
    double exabytes = (petabytes / 1024);
    double zettabytes = (exabytes / 1024);
    double yottabytes = (zettabytes / 1024);
    Pour répondre à ton autre question, non il n'y a pas de taille limite sur un fichier (enfin pas à ma connaissance). Mais question exploitation plus ton fichier sera gros plus il sera dur à exploiter, long à copier d'une machine à une autre...

    Tu devrais utiliser une librairie de log digne de ce nom, c'est pas compliqué à utiliser et ça te sauvera bien du temps. Comme le bug que tu as dans ton code qui fait que si tu as une exception lors du "write" tu n’appelleras pas "close".

    Romain.

  3. #3
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    Ok merci Romain !

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par rg77140 Voir le message

    Pour répondre à ton autre question, non il n'y a pas de taille limite sur un fichier (enfin pas à ma connaissance).
    Il y a des tailles limites, différentes en fonction des filesystem :

    - par exemple, en FAT32 : 4 GiB
    (ce qui devrait être largement suffisant pour stocker un fichier de log sur une vieille clé flash )
    - par exemple, en NTFS : en théorie 16 EiB soit 2^60 octets, mais il parait qu'on ne peut dépasser 16 TiB en pratique (ce qui fait 16 x 1024 GiB), ce qui devrait être également largement suffisant pour un fichier de log

    - 16 GiB en ext2
    - 16 TiB en ext4
    ...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSP] Connaitre la taille d'un fichier
    Par dst dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 21/06/2004, 17h22
  2. Réponses: 5
    Dernier message: 15/04/2004, 13h24
  3. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20
  4. fonction réduisant la taille d'un fichier
    Par Harry_polin dans le forum C
    Réponses: 22
    Dernier message: 27/11/2003, 13h56
  5. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo