I have a problem. At the time of writing and reading and writing again in a file I do not know how I can do it, I get an error that can not be continued so the file is not being used in another call, so what should I do?
I have this code:
FileStream FlujoBinario = new FileStream(ficheros, FileMode.Append, FileAccess.Write);
BinaryWriter escribe = new BinaryWriter(FlujoBinario, Encoding.ASCII);
string NombreProducto;
int CantidadProducto;
string CostoProducto;
Console.Clear();
Console.WriteLine("\nINGRESE LOS DATOS DEL PRODUCTO");
Console.WriteLine("\nIngrese el nombre del Producto: ");
NombreProducto = (string)Console.ReadLine();
escribe.Close();
FlujoBinario.Close();
byte aux = 0;
FileStream FlujoBinario1 = new FileStream(ficheros, FileMode.Open, FileAccess.Read);
BinaryReader lee = new BinaryReader(FlujoBinario1, Encoding.ASCII);
while (lee.PeekChar() != -1)
{
if (lee.ReadString() == NombreProducto)
{
Console.WriteLine("PRODUCTO YA INGRESADO");
Console.ReadKey();
aux = 1;
break;
}
else
{
lee.ReadString();
lee.ReadInt32();
lee.ReadString();
}
if (aux == 0)
{
Console.WriteLine("Producto no encontrado");
}
lee.Close();
FlujoBinario.Close();
}
FlujoBinario = new FileStream(ficheros, FileMode.Append, FileAccess.Write);
BinaryWriter escribe1 = new BinaryWriter(FlujoBinario, Encoding.ASCII);
Console.WriteLine("Ingrese la cantidad de producto que tiene en Stock: ");
CantidadProducto = int.Parse(Console.ReadLine());
Console.WriteLine("Ingrese el costo del producto C/u");
CostoProducto = (string)Console.ReadLine();
escribe1.Write(CantidadProducto);
escribe1.Write(CostoProducto);
escribe1.Close();
FlujoBinario1.Close();
Console.WriteLine("\n\n PRESIONE UNA TECLA PARA REGRESAR AL MENU");
Console.ReadKey();
}