C sharp - Escritura de archivos binarios

 
Vista:

Escritura de archivos binarios

Publicado por Memo Sayago (1 intervención) el 05/04/2007 08:24:57
Estimados programadores, tengo un pequeño problemilla con un codigo que guarda un arrchivo.

Mi problema es que a la hora e guardar el dato de tipo long "telefono" solamente guarda el primer numero, y otro problema es que a la hora de responder a la pregunta de si se desea agregar otro registro no se ejecuta el while y cierra el flujo automaticamente.

Mucchas gracias, saludos.

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;

namespace Escribir_lista_fons
{
class CrearListatFons
{
public static void crearFichero(string fichero)
{
BinaryWriter bw=null;
char resp;

try
{
bw = new BinaryWriter(new FileStream(fichero, FileMode.Create, FileAccess.Write));

string nombre, direccion;
long telefono;

do
{
Console.WriteLine();
Console.Write("Nombre: "); nombre = Console.ReadLine();
Console.Write("Direccion: "); direccion = Console.ReadLine();
Console.Write("Telefono: "); telefono = (long)Console.Read();

bw.Write(nombre);
bw.Write(direccion);
bw.Write(telefono);

Console.Write("\tDesea escribir otro registro: ");
resp = (char)Console.Read();

Console.ReadLine();
Console.ReadLine();

} while (resp == 's');
}

/*catch (IOException e)
{
Console.WriteLine("Error: " + e.Message);
}*/

finally
{
if (bw != null)
bw.Close();
}
}

static void Main(string[] args)
{
string nombreFichero = null;

try
{
Console.Write("Escriba el nombre del fichero: ");
nombreFichero = Console.ReadLine();
Console.WriteLine();

char resp = 'S';

if(File.Exists(nombreFichero))
{
Console.Write("El fichero ya exite desea sobreescribirlo? ");
resp = (char)Console.Read();
Console.ReadLine();
}

if (resp == 'S')
{
crearFichero(nombreFichero);
}
}
catch(IOException e)
{
Console.WriteLine("Error: "+e.Message);
}
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder