代码下面是用来在ASP .NET MVC2使用FileHelpers读取固定宽度上载的文件的内容的文本文件FileHelpers:如何跳过第一行和最后一行读取固定宽度的文本
第一行和最后一行的长度更小,原因ReadStream由于这个例外。 所有其他线都有适当的固定宽度。 如何跳过第一行和最后一行或以其他方式无一例外地读取数据?
[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[];
}
谢谢。实际上,文件可以采用两种不同的格式:固定宽度,如问题描述和记录格式,其中每个字段位于不同的行中。两种格式的字段也不同,因此应使用两种不同的读取模式。固定宽度格式在每行的开始处总是包含“VV”。如何在阅读之前检查流,并根据格式应用不同的阅读模式? – Andrus
如何根据需要忽略首先/忽略最后而不是在类中? – zerohero
engine.Options.IgnoreFirstLines = 1 – zerohero