首页 / 软件开发 / C# / 用VC#2005解析含有多种格式的文本文件
用VC#2005解析含有多种格式的文本文件2010-12-13章立民一般而言,文本文件都只会包含一种格式(例如,以逗号分隔或是固定字段 宽度),然而文本文件却很可能含有多种格式,当遇到此种状况时该如何处理呢 ?如果您的文本文件含有多种格式,应该使用TextFieldParser对象的 PeekChars方法去取得数据行从头算起特定数目的字符,以便藉此来判断该数据 行的格式,然后告知TextFieldParser对象该数据行的格式为何并读取该数据行 。PeekChars方法只会返回指定数目的字符而且不会前进至下一行,通过这样逐 一判别每一笔数据行的格式并逐行读取数据行的方式,即可够解析含有多种格式 的文字文件并顺利读取。举例来说,假设我们在应用程序项目的Text文 件夹含有一个名称为“多格式文本文件.txt”的文本文件,此文本文 件的特殊之处在于它含有下列三种格式:·固定字段宽度分别为5 、10与 -1的数据行。·固定字段宽度分别为6、10、17与 -1的数 据行。·采用逗号分隔的数据行。上述这三种格式的数据 行存在一个特点,就是数据行的开头字符分别是CK、PB与SP,因此我们只要通过 TextFieldParser对象的PeekChars方法取得数据行的前两个字符,然后根据其值 来设定TextFieldType属性,以及设定Delimiters属性(或调用SetDelimiters方 法)或FieldWidths属性(或调用SetFieldWidths方法),并使用ReadFields方 法来读取数据行。反复使用此方式来处理每一笔数据行,就能够顺利解析并读取 整个文本文件。