我正在使用.NET Web服务,该服务将处理具有相对较长的多级记录格式的文本文件.文件中的每条记录代表不同的实体; 记录包含多个子类型.(COBOL作业当前正在处理相同的记录格式,如果这样可以更好地了解我们正在查看的内容).我已经创建了一个类结构(如果你愿意,可以使用DATA DIVISION)来保存输入数据.
我的问题是,你在.NET中处理大型,复杂的固定宽度文件有哪些最佳实践?我的一般方法是将整行读入一个字符串,然后将字符串中的数据解析为我创建的类.但是我不确定我是否会在字符串中的字符作为数组或字符串本身时获得更好的结果.我猜这是具体的问题,字符串与char [],但我会感激任何其他任何指针.
谢谢.
我将构建与行中的数据匹配的类,使用类型,长度等属性.然后使用该Microsoft.VisualBasic.FileIO.TextFieldParser
对象读取文件,使用一些通用代码基于类编程解析器,然后读取数据并创建实例类(全部使用反射).
我使用它来读取CSV及其快速,灵活,可扩展,通用且易于维护.我还有一些属性允许我在读取时为每个字段添加通用验证.
我会分享我的代码,但它是我工作的公司的IP.