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

Résolu
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 7 juil. 2005 à 10:15
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 7 juil. 2005 à 21:22
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

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 68
7 juil. 2005 à 10:47
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
3
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 68
7 juil. 2005 à 10:40
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
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
7 juil. 2005 à 21:22
Mci #Mao, je savais pas que de cette facon, on lis pas la totalité du fichier

Merci
YaoYao !!
1 + 1 = 10
0