• Lunes 18 de Noviembre de 2024, 01:31

Autor Tema:  Leer Archivo...  (Leído 1919 veces)

hvirtual

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Leer Archivo...
« en: Viernes 18 de Agosto de 2006, 22:28 »
0
: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:

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Leer Archivo...
« Respuesta #1 en: Viernes 18 de Agosto de 2006, 23:31 »
0
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:

hvirtual

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Leer Archivo...
« Respuesta #2 en: Sábado 19 de Agosto de 2006, 00:34 »
0
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...