这可能是转储问题,但我试一试。
一项常见任务是从ascii文件导入数据。 除文件结构外,它几乎总是一样的。 逗号分开,行分开,需要5行,需要12行......不管... 所以它始终是一个不同的协议/映射,但处理相同......
是否有一个c#库可以帮助支持这种日常场景?
答案 0 :(得分:4)
示例:强>
档案:
1732,Juan Perez,435.00,11-05-2002
554,Pedro Gomez,12342.30,06-02-2004
112,Ramiro Politti,0.00,01-02-2000
924,Pablo Ramirez,3321.30,24-11-2002
创建一个映射数据的类。
[DelimitedRecord(",")]
public class Customer
{
public int CustId;
public string Name;
public decimal Balance;
[FieldConverter(ConverterKind.Date, "dd-MM-yyyy")]
public DateTime AddedDate;
}
然后使用:
解析FileHelperEngine engine = new FileHelperEngine(typeof(Customer));
// To Read Use:
Customer[] res = engine.ReadFile("FileIn.txt") as Customer[];
// To Write Use:
engine.WriteFile("FileOut.txt", res);
枚举:
foreach (Customer cust in res)
{
Console.WriteLine("Customer Info:");
Console.WriteLine(cust.Name + " - " +
cust.AddedDate.ToString("dd/MM/yy"));
}
答案 1 :(得分:1)
您可能需要查看FileHelpers library。
答案 2 :(得分:1)
所以这些任务的唯一共同点是阅读文本文件吗?
如果 FileHelpers 对你来说过于苛刻(简单的文本数据等),那么标准的.NET类应该就是你所需要的(String.Split Method,Regex Class,{{3 }})。
它们提供由字符(String.Split
)或行(StreamReader
)分隔的读数。