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

Entrée/Sortie Java Discussion :

Changement de la taille d'un fichier


Sujet :

Entrée/Sortie Java

  1. #1
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut Changement de la taille d'un fichier
    Bonjour,

    Je voudrais savoir si c'est possible de changer la taille d'un fichier en java. Style j'ai un fichier de 10 mo et je change sa taille (le contenu ne change pas) pour que le système le voit comme faisant 8 mo, par exemple.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Luxembourg

    Informations forums :
    Inscription : Octobre 2002
    Messages : 20
    Points : 25
    Points
    25
    Par défaut
    Salut,

    Tu pourrais motiver cette idée, s'il te plaît ?

    A plus,

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 342
    Points
    342
    Par défaut
    Salut,

    Je ne vois pas trop ce que tu veux dire, ça me parait impossible (quel que soit le langage d'ailleurs), la taille d'un fichier représente la taille de son contenu, donc si tu ne modifi pas le contenu, la taille ne change pas.
    En compressant tu pourrais changer la taille d'un fichier mais ça modifi le contenu...

  4. #4
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Ben en fait je sais pas trop, un copain m'as parlé de download en p2p ou il downloadait un fichier d'1Go et quand il ouvrait l'archive elle ne contient que 3 images de qq ko. Visblement ici, la taille du fichier est truquée je ne sais pas comment et c'est bien ça qui m'intriguait (d'ou le post), le pire c'est que selon ma connaissance, il download vraiment 1 go, mais du vide en quelque sorte.

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Ben l'inverse est possible (dans 1Go tu peux facilement stocker 3Ko de données utile et du blanc pour le reste (que des 0 par exemple).

    Maintenant pour diminuer la taille d'un fichier tu ne peux que le compresser (et c'est plus ou moins possible selon le contenu).

    a++

  6. #6
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par gailuris
    Salut,

    Je ne vois pas trop ce que tu veux dire, ça me parait impossible (quel que soit le langage d'ailleurs), la taille d'un fichier représente la taille de son contenu, donc si tu ne modifi pas le contenu, la taille ne change pas.
    En compressant tu pourrais changer la taille d'un fichier mais ça modifi le contenu...
    Si en C, cela est possible. En utilisant la fonction lseek, il est possible de se placer à une position arbitraire pour écrire quelque chose. Lorsqu'on ouvre le fichier, il n'y a rien que quelques données au début.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdio.h>
     
    int main()
    {
            FILE * f =fopen("hole.txt","w");
            fprintf(f,"Hello world!\n");
            fseek(f,8192,SEEK_SET);
            fprintf(f,"Hello again!\n");
            fclose(f);
            return 0;
    }
    Si on regarde la taille du fichier:
    -rw-r--r-- 1 bob marley 8205 Mar 2 2006 hole.txt
    Et si on fait un cat:
    Hello world!
    Hello again!
    Mais en java, je ne pense pas que ce soit possible.
    Jc

  7. #7
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par adiGuba
    Salut,

    Ben l'inverse est possible (dans 1Go tu peux facilement stocker 3Ko de données utile et du blanc pour le reste (que des 0 par exemple).

    Maintenant pour diminuer la taille d'un fichier tu ne peux que le compresser (et c'est plus ou moins possible selon le contenu).

    a++
    Par contre, effectivement, diminuer la taille pour faire croire qu'il prend moins de place est impossible. Si tu le tentes, tu vas finalement te prendre un mur parce qu'il y aura surement des écrasement de données...

    Donc pour résumé, on peut agrandir un fichier avec des trous mais on peut pas réduire la taille. Le système ne le permettrait pas...

  8. #8
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fearyourself
    Mais en java, je ne pense pas que ce soit possible.
    Si : la classe RandomAccessFile te le permet... mais bon l'intérêt est plutôt limité (a moi de gérer le téléchargement de fichier par partie).

    a++

  9. #9
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Et comment peut-on faire pour augmenter comme ça la taille d'un fichier ?
    Je devrais écrire des 0 dans un flux ou il existe autre chose plus rapide ?

  10. #10
    Membre chevronné
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Points : 1 958
    Points
    1 958
    Par défaut
    Citation Envoyé par HNT
    Et comment peut-on faire pour augmenter comme ça la taille d'un fichier ?
    Je devrais écrire des 0 dans un flux ou il existe autre chose plus rapide ?
    Avec la classe RandomAccessFile tu te place bien après la fin effective du fichier et tu écris un 0.
    Imagine que le fichier toto.txt fasse 10 octets à l'origine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    RandomAccessFile raf=new RandomAccessFile("toto.txt",rw);
    raf.seek(1024);
    raf.writeByte(0);
    raf.close();
    maintenant ton fichier toto.txt fait 1 Mega octet...

  11. #11
    HNT
    HNT est déconnecté
    Membre actif Avatar de HNT
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    448
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 448
    Points : 293
    Points
    293
    Par défaut
    Merci beaucoup pour les renseignements.

+ 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