Problème de Copie (StreamReader)

Problème de Copie (StreamReader) - C#/.NET managed - Programmation

Marsh Posté le 29-11-2005 à 16:37:20    

Bonjour,  
J'ai un objet StreamReader déclaré comme suit :  
 
private StreamWriter SW ;  
[...]  
SW = new StreamWriter(Le_Chemin);  
[Lecture certaines Lignes (readline())...]  
 
Ensuite, lorsque je suis rendu à la Xième ligne je voudrais copier SW dans une autre variable. Je l'ai fait de cette façon :  SW2 = SW1  
 
 
Le problème est que les 2 pointes sur le même objet. Résultat si je fais SW2.readLine() SW1 ne reste pas à la même place.  
 
En résumer je voudrais copier SW1 dans SW2 mais que les 2 variable ne pointe pas sur le même objet mais 2 différents.  
 
Comment faire ?  
 
J'espère que je suis assez clair...  
 
Merci de votre aide

Reply

Marsh Posté le 29-11-2005 à 16:37:20   

Reply

Marsh Posté le 29-11-2005 à 19:12:05    

hello,
 
je crois que tu peux faire quelquechose du genre :
sw2 = new StreamReader( sw1 );
mais, c'est a tester


Message édité par fluminis le 29-11-2005 à 19:12:28

---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 30-11-2005 à 17:01:35    

Oulàlà...  ça me semble pas terrible de dupliquer un streamreader sur un fichier. Je dirai même que c'est très mal !
Imagine un peu que tu te mettes à jouer avec des threads...
Je suis à peu près sûr qu'il doit y avoir une autre solution : qu'est ce que tu veux faire derrière ?
 
Si c'est juste pouvoir marquer un emplacement E1, et pouvoir y retourner plus tard, je te conseille Seek et Position :
 
// tu crée ton stream
StreamReader reader = ...
// ici tu fais tes lectures ...
...
// là tu stocke ta position
long pos1 = reader.BaseStream.Position;
// ici tu fais tes lectures ...
...
// et ici tu reviens en arrière
reader.Seek(pos1, SeekOrigin.Begin);

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed