SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => Otros CLR => Mensaje iniciado por: hvirtual en Viernes 18 de Agosto de 2006, 22:28

Título: Leer Archivo...
Publicado por: hvirtual en Viernes 18 de Agosto de 2006, 22:28
:comp: Hola a todos tengo un problema, que aun no puedo solucionar, necesito leer un archivo (supongamos de texto , nembre.txt), desde y hasta los bytes que le indique, por ejemplo:

FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
   byte[] abyt = new byte[Convert.ToInt32(512)];
   fs.Read(abyt, 0, 512);
   fs.Close();

Lee un archivo hasta los 512 byte, pero yo quiero leer por ejemplo desde el byte 500 al 512 o al final (path.Lengh), el problema es el inicio de la lectura...

Agradezco cualquier tipo de ayuda...
De antemano muchas gracias.... :hola:
Título: Re: Leer Archivo...
Publicado por: Diodo en Viernes 18 de Agosto de 2006, 23:31
Hola

Puedes usar un lector binario asociado al stream (BinaryReader es la clase)

Código: Text
  1. stream = new FileStream(.........);
  2. lector = new BinaryReader(stream);
  3.  

para situarte en el stream

Código: Text
  1. lector.BaseStream.Position=500;
  2.  

para leer un numero especifico de bytes

Código: Text
  1. byte[] bytesAleer=new byte[12]
  2. bytesAleer=lector.ReadBytes(12); // ahora el puntero del stream estaria en 512
  3.  

espero q te sirva

salu2  :hola:
Título: Re: Leer Archivo...
Publicado por: hvirtual en Sábado 19 de Agosto de 2006, 00:34
Muchas pero Muchas gracias, no sabes cuanto me ha servido, ahora lo podré aplicar...
El codigo quedó de la siguiente forma:

FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader br = new BinaryReader(fs);
br.BaseStream.Position = 512;
int tot = Convert.ToInt32(fs.Length - 512);
byte[] abyt = new byte[tot];
abyt = br.ReadBytes(tot);
fs.Close();


 :D  :hola:

Chausito...