leer escribir en Binary

12/03/2010 - 19:57 por Paul P. Garcia | Informe spam
Saludos.
Si me pudieran ayudar en lo siguiente:
private void button1_Click(object sender, EventArgs e)

{

string filename = "C:\\Documents and
Settings\mollo\\Escritorio\\prueba.txt";

FileStream stream = new FileStream(filename
,FileMode.Create,FileAccess.Write );

BinaryWriter write = new BinaryWriter(stream);

Int32 mVariable = textBox1.TextLength;

Int32 mVar1;

Byte[] mBuffer = System.IO.File.ReadAllBytes("C:\\Documents and
Settings\mollo\\Escritorio\\coop catedral ultimo.doc");

mVar1=mBuffer.Length;

write.Write(mVariable);

write.Write(textBox1.Text);

write.Write(mVar1);

write.Write(mBuffer);

write.Close();

stream.Close();

textBox1.Text=System.Convert.ToString(mVariable);

}

private void button2_Click(object sender, EventArgs e)

{

FileStream readStream = new FileStream("C:\\Documents and
Settings\mollo\\Escritorio\\prueba.txt", FileMode.Open);

BinaryReader readBinary = new BinaryReader(readStream);

Int32 mVar = readBinary.ReadInt32();

byte[] theContent = new byte[mVar];

//Porque me obligo aumentar una posicion en algunas ocaciones 2

readBinary.BaseStream.Position = readBinary.BaseStream.Position + 1;

theContent = readBinary.ReadBytes(mVar);

Int32 mVar1 = readBinary.ReadInt32();

FileStream stream = new FileStream("C:\\Documents and
Settings\mollo\\Escritorio\\word.docx", FileMode.Create,
FileAccess.Write);

BinaryWriter writer = new BinaryWriter(stream);

textBox1.Text = Encoding.ASCII.GetString(theContent);

writer.Write(readBinary.ReadBytes(mVar1));

stream.Close();

writer.Close();

readStream.Close();

readBinary.Close();

}

}

Pense que automatico recuperaba y se movia una posicion.
Porque tengo que aumentar una posicion "readBinary.BaseStream.Position =
readBinary.BaseStream.Position + 1;" ????????
En algunos casos debo aumentar 2 posiciones.
No se cuando aumentar 1 o dos posiciones, porque si no lo habo bien lo
recupero mal...
 

Leer las respuestas

#1 Paul P. Garcia
15/03/2010 - 19:56 | Informe spam
Estoy buscando en google, pero no encuentra nada que me pueda ayudar...
Solo espero que alguien me pueda ayudar...

Preguntas similares