如何使用FileHelpers读取没有换行符或定界符的定长文件?基本上,一行上有一对多记录。我必须读取固定长度的记录,其中包含13个字段,共80个字符。例如,如果有3条记录,那将是一行中包含240个字符的记录。答案不能出自源头,不要让他们以不同的方式输出文件。他们不会让步。我可以放弃FileHelpers,但是我喜欢它的工作方式,因此我首先想在继续之前先看看它是否可行。要回答这个问题,您必须熟悉FileHelpers。
这是一个简单的示例,如我上面解释的,有34条记录...
var FileContent = "car 2010Ford Mustang Truck2011Chevy S10 Car 2018Toyota Corola SUV 2017Jeep Wrangler ";
[FixedLengthRecord(FixedMode.ExactLength)]
public class dtoCarRecord
{
[FieldFixedLength(5)]
public string Type;
[FieldFixedLength(4)]
public string Year;
[FieldFixedLength(10)]
public string Make;
[FieldFixedLength(15)]
public string Model;
}
void ApplyDateUpdates(object parameter)
{
var raRecords = new List<dtoRARecord>();
var engine = new FileHelperAsyncEngine<dtoRARecord>();
// Read
using (engine.BeginReadFile((string)parameter))
{
// The engine is IEnumerable
foreach (dtoRARecord detail in engine)
{
// your code here
raRecords.Add(detail);
}
}
}
我希望该文件中有4条记录。
答案 0 :(得分:0)
在导入文件之前,只需每80个字符分割一次文件即可。
scale