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 :

splitter un fichier en plusieurs


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut splitter un fichier en plusieurs
    Bonjour,
    je voulais fragmenter un fichier que je dois récupérer d'une base de données en plusieurs fichiers.. le critère de découpage est la taille des fichiers: chaque fichier crée doit être d'une taille maximale de 100MO..
    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Humm. Bon, c'était une décision difficile, mais mes amis et moi, on a décidé qu'on était d'accord. Tu peux y aller sans crainte, allez, fais-le !

    ... Et si tu as une question, accompagnée de ce que tu as déjà essayé de faire en te basant sur de la lecture/écriture normale de fichiers, n'hésite pas...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    je suis débutante en java.. j'ai trouvé la fonction split de java mais c'est destiné à fragmenter un string par un motif de séparation comme argument.. quant à la fragmentation par taille j'ai pas eu de solution

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Il faut dire que fragmenter un fichier par taille n'intéresse personne. Il est donc probable qu'il n'y ait pas de classe ou méthode toute faite pour.

    Mais tu pourrais par exemple lire le gros fichier, et écrire 100Mo de ce qu'il contient dans un autre, 100 autre Mo dans encore un autre fichier, 100Mo ailleurs, et ainsi de suite ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    oui exactement

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Voilà. Donc ça donne quoi quand tu essaies de faire ça ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    voila le codé que j'ai essayé..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    import java.io.*;
     
     
    public class FileSplitter
    {
      public static final long floppySize = (long)(1.4 * 1024 * 1024);
      public static long chunkSize = 100;
      /**
        * split the file specified by filename into pieces, each of size
       * chunkSize except for the last one, which may be smaller
       */
      public static void split(String filename)
      {
        // open the file
        BufferedInputStream in = new BufferedInputStream(new FileInputStream(filename));
     
        // get the file length
        File f = new File(filename);
        long fileSize = f.length();
     
        // loop for each full chunk
        int subfile;
        for (subfile = 0; subfile < fileSize / chunkSize; subfile++)
        {
          // open the output file
          BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(filename + "." + subfile));
     
          // write the right amount of bytes
          for (int currentByte = 0; currentByte < chunkSize; currentByte++)
          {
            // load one byte from the input file and write it to the output file
            out.write(in.read());
          }
     
          // close the file
          out.close();
        }
     
     
        // loop for the last chunk (which may be smaller than the chunk size)
        if (fileSize != chunkSize * (subfile - 1))
        {
          // open the output file
          BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(filename + "." + subfile));
     
          // write the rest of the file
          int b;
          while ((b = in.read()) != -1)
            out.write(b);
     
          // close the file
          out.close();			
        }
     
        // close the file
        in.close();
      }
     
      /**
       * list all files in the directory specified by the baseFilename
       * , find out how many parts there are, and then concatenate them
       * together to create a file with the filename <I>baseFilename</I>.
       */
      public static void join(String baseFilename) 
      {
        int numberParts = getNumberParts(baseFilename);
     
        // now, assume that the files are correctly numbered in order (that some joker didn't delete any part)
        BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(baseFilename));
        for (int part = 0; part < numberParts; part++)
        {
          BufferedInputStream in = new BufferedInputStream(new FileInputStream(baseFilename + "." + part));
     
          int b;
          while ( (b = in.read()) != -1 )
            out.write(b);
     
          in.close();
        }
        out.close();
      }
     
    }

    mais ça marche pas et il me dégage plein d'erraur

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ah, mince.

    Eh bien, j'espère qu'un jour tu trouveras des gens à qui tu fais suffisamment confiance, pour leur dire :
    - qu'est-ce qui ne va pas avec ce code.
    - quelles sont ces erraur qu'il te fait.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    salut,
    comme a dit thelvin,
    peux-tu nous montrer les erreurs que ton code affiche?
    la on pourra commencer a voir clair dans ton probleme.

    Eric

Discussions similaires

  1. [POO] "splitter" une classe en plusieurs fichiers ?
    Par Merfolk dans le forum Langage
    Réponses: 9
    Dernier message: 07/06/2008, 00h50
  2. Imprimer automatiquement fichiers de plusieurs formats
    Par lutin511 dans le forum Windows
    Réponses: 5
    Dernier message: 07/12/2005, 18h38
  3. Lister les fichiers de plusieurs sous-répertoire ?
    Par ratbiker dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 25/11/2005, 21h20
  4. [XSLT] - Trier un fichier sur plusieurs critères
    Par ytse dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/10/2005, 16h26
  5. utiliser le même fichier dans plusieurs projets vc++6
    Par yannick_sch dans le forum MFC
    Réponses: 5
    Dernier message: 12/02/2004, 17h39

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