Я бы сначала начал с разбора файла. Для этого используйте TextFieldReader вместо того, чтобы придумывать собственный анализатор CSV:
using Microsoft.VisualBasic.FileIO;
TextFieldParser reader = new TextFieldReader("C:\MyFile.txt");
reader.Delimiters = new string[] { " " };
string[] currentRow = null;
while (!reader.EndOfData)
{
try
{
currentRow = reader.ReadFields();
foreach(string field in currentRow)
{
//save this field...
}
}
catch (MalformedLineException ex)
{
//handle exception the way you want
}
}
Как только у меня появятся данные, я извлеку только интересующий меня столбец. Если вы можете предположить, что каждая строка имеет одинаковый шаблон, тогда вы можете определить правильный столбец при разборе первой строки, а затем при разборе остальных из строк вы можете просто сохранить соответствующий столбец. Вам не нужно сохранять весь файл в памяти.
РЕДАКТИРОВАТЬ: Мне очень жаль, я думал, что вопрос был о программировании на C #. Моя ошибка - извините.