código de abajo se utiliza para leer el archivo de texto el contenido del archivo subido ancho fijo utilizando FileHelpers en ASP .NET MVC2FileHelpers: Cómo omitir primera y última línea de la lectura de texto de ancho fijo
Primera y última longitudes de línea son más pequeñas y causas ReadStream excepción debido a esto. Todas las demás líneas tienen un ancho fijo adecuado. ¿Cómo saltear las primeras y las últimas líneas u otras formas de leer datos sin excepción?
[FixedLengthRecord()]
class Bank
{
[FieldFixedLength(4)]
public string AINETUNNUS;
[FieldFixedLength(16)]
public string TEKST1;
[FieldFixedLength(3)]
public string opliik;
[FieldFixedLength(2)]
public string hinnalis;
};
[AcceptVerbs(HttpVerbs.Post)]
[Authorize]
public ActionResult LoadStatement(HttpPostedFileBase uploadFile)
{
FileHelperEngine engine = new FileHelperEngine(typeof(Bank));
var res = engine.ReadStream(new StreamReader(uploadFile.InputStream,
Encoding.GetEncoding(1257))) as Bank[];
}
Gracias. En realidad, los archivos pueden estar en dos formatos diferentes: ancho fijo como se describe en la pregunta y en formato de registro donde cada campo está en una línea separada. Los campos también son diferentes en ambos formatos, por lo que se deben usar dos modos de lectura diferentes. El formato de ancho fijo contiene siempre "VV" en el inicio de cada línea. ¿Cómo examinar el flujo antes de leer y aplicar un modo de lectura diferente según el formato? – Andrus
Cómo Ignorar Primero/Ignorar ¿Más bajo demanda en lugar de en Clase? – zerohero
engine.Options.IgnoreFirstLines = 1 – zerohero