CLR: .Net / Mono / Boo / Otros CLR > C#
Problema De Stream ???
danijr78:
Por favor alguien puede solucionarlo? es urgente!!
Gracias por adelantado.
Diodo:
Hola
Debes arreglar varias cosas:
En primer lugar el null es un indicador de final de fichero y no de linea vacia, en tal caso para capturar la linea vacia puedes hacer cad.count y mirar si es igual a cero.
Por este motivo debes cambiar el bucle de lectura de lineas y poner algo asi:
--- Código: Text --- while ((line = sr.ReadLine()) != null) { // aqui ya puedes trabajar con cada linea del texto}
Para procesar cada linea quitandole las comas y meterla en una estructura, yo me haria una funcion a la cual le pasas la linea como string y dentro de ella te separe cada substring y los monte en la estructura y te lo devuelva ya montado
--- Código: Text --- struct Avion{ string nombre; ...... ......} while ((line = sr.ReadLine()) != null) { Avion nuevoAvion=new Avion(); Avion=MontaEstructura(line);}
Haciendo esto no deberias tener problemas
un saludo :hola:
danijr78:
Mirando el debugger y probando me he dado cuenta que las 3 primeras lineas que lee del fichero son basura y a partir de la 4º ya lee el texto. El fichero es un .doc ... alguien sabe porque pasa esto?
danijr78:
Gracias Diodo pero el problema está a la hora de definir el StreamReader.
Me interesa un SR global que debo definir dentro de un método que sólo se ejecuta una vez y después quiero hacer uso de ese SR dentro de otro método LeerAvion.
En LeerAvion sólo hay que leer UNA línea y el problema esta aquí. Después el tratamiento de la línea no hay problema.
//METODO INICIAL
if(ofdFich.ShowDialog()==System.Windows.Forms.DialogResult.OK && ofdFich.FileName!="")
{
sr= new StreamReader(ofdFich.FileName);
....
//METODO LEERAVION
string cad;
string[] cpo;
cad=sr.ReadLine();//ERROR NULL REFERENCE
cpo= cad.Split(',');
Avion av= null;
if( cpo[1].Trim().ToUpper().StartsWith("COM"))// ERROR INDICE ARRAY FUERA LIMITES
Diodo:
Eso a lo que llamas basura sera una mascara de formato, o encabezado del documento, algo parecido a lo que llevan los ficheros html.
Si intentas leer un fichero html como flujo de datos te encontraras con caracteres o palabras clave que son necesarios para que el documento sea interpretado por el navegador.
Asi que tendras que apañartelas para diferenciar lo que es "basura" , de la infomacion util para ti
Respecto lo del streamreader global no lo entiendo , sorry.
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa