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

Windows Forms Discussion :

[VB.Net] Comment ecrire dans un MemoryStream


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Points : 48
    Points
    48
    Par défaut [VB.Net] Comment ecrire dans un MemoryStream
    bonjour,
    je voudrai savoir comment je peut ecrire un fichier dans un MemoryStream

    Merci d'avance
    Vijeo

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    dim memstrm as MemoryStream = new MemoryStream();
    dim memwtr as StreamWriter = new StreamWriter(memstrm);
    dim memrdr as StreamReader= new StreamReader(memstrm);
    // écriture
    memwtr.WriteLine("Hello world !");
    memwtr.Flush();
    // lecture
    memstrm.Seek(0, SeekOrigin.Begin); 
    string str;
    while ((str = memrdr.ReadLine())!= null)
    {
        ...
    }
    C'est un exemple vraiment simpliste d'écriture et de lecture dans un MemoryStream mais cela répondra peut être à ta question

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    merci pour la reponse,

    en fait ce que je cherche a faire c'est de lire un fichier exitant sur mon disque pour le mettre dans un memoryStream. que faut il que je modifie dans le code precedent pour que cela fonctionne
    encore merci

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Citation Envoyé par vijeo
    que faut il que je modifie dans le code precedent pour que cela fonctionne
    Qu'entends par "pour que cela fonctionne" ? Tu sais lire un fichier ou pas du tout ? Car à la base ta question portait sur le MemoryStream et rien d'autre

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    Et bien je suis novice dans la programation VB.net.
    donc je cherche toujours a lire un fichier pour le mettre dans un memoryStream.

    @+ Vijeo

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Quels types de fichier dois-tu traiter ? Texte, image, ...
    Dois-tu traiter plusieurs types ou un seul exclusivement ?

    Suivant le besoin orientes toi sur le couple BinaryReader/BinaryWriter pour un contenu quelconque ou bien StreamReader/StreamWriter pour le texte uniquement. Le BinaryReader/StreamReader aura pour tâche de lire le fichier source et le BinaryWriter/StreamWriter d'écrire dans le MemoryStream

    Tu aurais peut être préféré du code directement mais cherche un peu, ca ne fait jamais de mal crois moi

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 92
    Points : 48
    Points
    48
    Par défaut
    je cherche .. je cherche...
    j'ai juste besoin d'etre guidé.. le type de fichier c'est un fichier zip que je souhaite au final pouvoir extraire
    voila
    Merci
    @+ Vijeo

  8. #8
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    En admettant que tu possèdes une méthode te permettant d'extraire un zip qui se trouverait dans un MemoryStream, oriente toi vers le BinaryReader/BinaryWriter.

    En gros, tu crées un FileStream puis un BinaryReader sur le FileStream créé. Tu crées un MemoryStream et un BinaryWriter sur le MemoryStream créé.
    Tu lis le FileStream avec le BinaryReader et tu écris avec le BinaryWriter dans ton MemoryStream.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    FileStream fs = new FileStream(@"X:\...\...\monFichier", FileMode.Open, FileAccess.Read);
    BinaryReader br = new BinaryReader(fs);
    MemoryStream ms = new MemoryStream();
    BinaryWriter bw = new BinaryWriter(ms);
    bw.Write(br.ReadBytes((int)fs.Length));
    fs.Length est un long et la méthode ReadBytes attend un int. J'ai casté directement en int mais il faudrait vérifier qu'il n'y aurait pas de dépassement de capacité pour être rigoureux et itérer en écriture le cas échéant.

  9. #9
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Points : 2 629
    Points
    2 629
    Par défaut
    Citation Envoyé par vijeo
    je cherche .. je cherche...
    j'ai juste besoin d'etre guidé.. le type de fichier c'est un fichier zip que je souhaite au final pouvoir extraire
    voila
    Merci
    @+ Vijeo
    Si ta finalité est de décompresser le fichier zip il existe déjà des librairies toutes faites pour cela

    SharpZibLib

    Et si tu es en .NET 2.0 tu peux utiliser le namespace System.IO.Compression

Discussions similaires

  1. [VB.Net] Comment écrire dans un fichier texte ?
    Par Toto70 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 12/07/2006, 15h48
  2. Réponses: 2
    Dernier message: 27/04/2006, 16h22
  3. Réponses: 2
    Dernier message: 18/07/2005, 15h06
  4. Réponses: 4
    Dernier message: 02/07/2004, 11h31
  5. [VB.NET] Comment ecrire du code entre <title>
    Par ykane dans le forum ASP.NET
    Réponses: 5
    Dernier message: 10/05/2004, 17h58

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