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

C# Discussion :

lire une fichier dans un byte[]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut lire une fichier dans un byte[]
    pour lire un fichier ,j'ai trouve que j'ai la possibilité d'utiliser soit

    FileStream
    StreamReader
    BinaryReader


    mais toutes ces typês de stream on une fonction read
    que ce soit attravers reader.read ou reader.baseStream.read

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
      y = reader.BaseStream.Read(buffer, 0, 1000);
    moi je veux lire le ficher en totale pour le mettre dans un buffer.

    j'ai essai de lire un block par block

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    byte[] filebyte = new byte [file.Length];//binaryReader.ReadBytes(1000);               
                    long y = 0;
                    do
                    {
                        byte[] buffer = new byte[1000];
                        y =y+ reader.BaseStream.Read(buffer, 0, 1000);
                        //quelque chose qui manque 
                    }
                    while (y < file.Length );
    je n'arrive pas a collecte les bytes que je vient de lire (buffer ) pour les ajoutes au filebyte.

    NB: reader.BaseStream.read lire les octets et avance automatiquement .


    finalement je suis toute a fait près pour adopte de nouvelles idées

    et merci pour vos aidées et vos idées.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    salut,
    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    byte[] Buffer;
    FileStream Truc = new FileStream("c:\\Machin.Chose", FileMode.Open);
    long longueurFichierTruc = Truc.Length;
    Buffer = new byte[longueurFichierTruc];
    Truc.Read(Buffer, 0, (int)longueurFichierTruc);
    mais il faut que le fichier soit plus petit en longueur que la valeur max d'un "Int"

  3. #3
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Salut

    De memoire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    StreamReader sr=new StreamReader(MonFichier);
    string Bufffer=sr.ReadToEnd();
    Néanmoins je déconseille ce gere de lecture ReadtoEnd() sauf dans des cas tres nécessaires !

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    mais il faut que le fichier soit plus petit en longueur que la valeur max d'un "Int"

    Et surtout qu'il y ait asser de mémoire

  5. #5
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    bah c'est vrai que lire comme ca un fichier de 2Go ca risque de "RAMmer" ^^

    mais tu remarqueras que Truc.Length renvoie un "long" (+-9 223 372 036 854 775 807) octets, me demande pk zont fait ca :p

  6. #6
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Citation Envoyé par Themacleod1980 Voir le message
    mais tu remarqueras que Truc.Length renvoie un "long" (+-9 223 372 036 854 775 807) octets, me demande pk zont fait ca :p
    Tout simplement parce que la propriété retourne la taille en octet d'un fichier. Si sur système FAT32 la taille ne peut excéder 2^32 octets, sur NTFS la taille peut être bien plus grande (exemple, un iso d'un BlueRay). Alors un long c'est pas de trop pour retourner la taille d'un fichier qui peut potentiellement atteindre le To voire bien plus encore (cf par exemple la taille maximale d'un fichier sur système BTRFS : 16Eio, source : http://fr.wikipedia.org/wiki/Btrfs)

  7. #7
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    merci les mecs je vu teste vos codes !!!

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

Discussions similaires

  1. Comment lire une chaîne dans un fichier binaire?
    Par dot-_-net dans le forum Débuter
    Réponses: 9
    Dernier message: 18/05/2008, 23h13
  2. Enregistrer/Lire une TListView dans un fichier
    Par James_ dans le forum C++Builder
    Réponses: 10
    Dernier message: 09/09/2007, 09h22
  3. Réponses: 2
    Dernier message: 22/09/2006, 08h33
  4. Lire une ligne dans un fichier
    Par dbozec dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2006, 23h22
  5. Sauvegarder/Lire une classe dans un fichier
    Par Rodrigue dans le forum C++
    Réponses: 10
    Dernier message: 10/09/2005, 14h12

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