我正在从客户端获取一个文本文件,该文件有多行,每行可以属于一个组。每组都有特定的数据格式。每种数据格式定义将在行中的特定位置出现的字段。我需要重新格式化数据并向每行添加详细信息。
例如,有3个组GroupA、GroupB、GroupC,每个组的格式由行号指定。
我会事先知道GroupA的ID是1-5,然后是空格6-8,日期是9-15,空格是16-18,组标识符是19 (如A/B/C),后面是空格和组特定数据。
文本文件格式:
1234G 21122013 A 12.34INR 160EUR -12.90Adj
1254G 21122011 B 12.34Adj 22122011 160EUR -12.90Adj
1264G 21122012 A 12.34INR 160EUR -12.90Adj
1274G 20122013 C FEECredit 12.34INR -12.90Adj 160EUR ABCDXYZ AAA因此,通过读取每行的第19位,我可以识别该组,然后根据该组的字段结构处理该行。
阅读这篇文章的最好方法是什么?目前,我正在考虑将信息存储在XML中,它将具有每个组的字段起始位置和字段长度。读取每一行,我需要识别组,然后选择正确的XML和在XML中指定的read字段。
任何帮助都将不胜感激,提前谢谢。
发布于 2014-02-12 15:55:30
我将使用的一种非XML方法是,首先将所有行读入一个List<string>,然后逐个处理这些行。通过在空格中拆分每一行,您将使所有标识符(A/B/C)在一个数组中的相同索引中。检查此标识符,并相应地处理该行的其余部分。下面是一个简短的例子:
private void ProcessLines(List<string> lines)
{
// lines holds the previously read lines from the textfile
foreach (string line in lines)
{
string[] parts = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
if (parts[2] == "A")
{
// code to process a line of code in Group A, etc.
}
}
}https://stackoverflow.com/questions/21721599
复制相似问题