Lire une partie d'un fichier sans charger tout le fichier

[Résolu]
Signaler
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010
-
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010
-
Salut
J'ai un serveur, qui doit transferer plusieurs fichiers à mon client, selon le choix, le problème, c'est qu'il le passe 1ko par 1ko, et la, comme je trouve pas comment faire, je charge tt mon fichier dans un string ( des dizaines de mega la), et je fé un substring pour avoir que le ko qui m'interresse, mais je pense que je perd énormément de temps, et de mémoire, ya pas une solution pour ne lire exectement qu'un bloc d'un fichier sans charger tout le fichier??

Merci
YaoYao !!
1 + 1 = 10

3 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
Voila, j'ai retrouvé :

FileStream Fs = new FileStream(FileName,...);
Fs.Position = XXX; // La position à partir de laquelle le stream va lire.
BinaryReader Br = new BinaryReader(Fs);

byte[] Lu = Br.ReadBytes(NbrDeBytesALire);

Si tu as vraiment besoin de string, tu doit pouvoir utiliser un TextReader.

Amicalement, SharpMao
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
Avec un stream, tu peux te déplacer ou tu veux dans le fichier, et lire la quantitié que tu veux.
J'avais fait quelque chose dans ce style, je cherche, et je poste.

Amicalement, SharpMao
Messages postés
805
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
30 octobre 2010

Mci #Mao, je savais pas que de cette facon, on lis pas la totalité du fichier

Merci
YaoYao !!
1 + 1 = 10