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

Langage Java Discussion :

Binary File Split


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 16
    Par défaut Binary File Split
    Bonjour,
    je cherche a developper une methode pour splitter un fichier. Voici ce que j'ai ecrit :
    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
     
        // this.f est le fichier source
        // this.splitSize est la taille voulue pour les parties obtenues...
        public File[] split() {     
            int nbp = ((int) (this.size() / this.splitSize))+1;
     
            FileReader fr = null;   
            try {fr = new FileReader(this.f);} 
            catch (FileNotFoundException e) {e.printStackTrace();}
     
            File[] parts = new File[nbp];  
            for (int i=0;i<nbp;i++) 
                try {parts[i] = File.createTempFile("part", null);} 
                catch (IOException e) {e.printStackTrace();}
     
            FileWriter[] fw = new FileWriter[nbp];  
            for (int i=0;i<nbp;i++)
                try {fw[i] = new FileWriter(parts[i]);} 
                catch (IOException e) {e.printStackTrace();}
     
            try {
                int x = 0;
                while (fr.ready()) {
                    fw[x].write(fr.read());
                    if (parts[x].length() > this.splitSize) {
                        x++;
                    }
                }            
     
                fr.close();
                for (int i=0;i<nbp;i++)
                    fw[i].close();
            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
     
            return parts;
        }
    et voici le resultat :

    Avec notepad, la source et le resultat semble identiques. De plus, la somme de tailles de partie est egale a la taille de la source. Et pourtant, le fichier semble corrompu... Chose surprenante, les fichiers texte ne semblent pas souffrir de la transformation alors que l'ecriture se fait en binaire...

    Auriez-vous une explication ?

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Je ne sais pas ce qui marche pas, par contre. Tu peux faire beaucoup plus simple: FileChannel.read(ByteBuffer[] dsts)

Discussions similaires

  1. RunInstaller: cannot execute binary file
    Par sean007 dans le forum Installation
    Réponses: 7
    Dernier message: 23/05/2008, 09h33
  2. arm-linux-gcc: cannot execute binary files
    Par mout551 dans le forum Linux
    Réponses: 0
    Dernier message: 19/03/2008, 11h27
  3. Problème exécution: cannot execute binary file
    Par Morgoth818 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 05/02/2008, 15h07
  4. cannot execute binary file
    Par MrWeb dans le forum Linux
    Réponses: 3
    Dernier message: 04/10/2007, 18h13
  5. Erreur après compilation : cannot execute binary file
    Par Djo00 dans le forum Administration système
    Réponses: 8
    Dernier message: 21/07/2006, 16h26

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