bonjour,
je voudrai savoir comment je peut ecrire un fichier dans un MemoryStream
Merci d'avance
Vijeo
bonjour,
je voudrai savoir comment je peut ecrire un fichier dans un MemoryStream
Merci d'avance
Vijeo
C'est un exemple vraiment simpliste d'écriture et de lecture dans un MemoryStream mais cela répondra peut être à ta question
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) { ... }
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
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'autreEnvoyé par vijeo
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
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
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
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.
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.
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));
Si ta finalité est de décompresser le fichier zip il existe déjà des librairies toutes faites pour celaEnvoyé par vijeo
SharpZibLib
Et si tu es en .NET 2.0 tu peux utiliser le namespace System.IO.Compression
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager