21 мая 2008

FileHelpers

.NET
Как часто Вам приходилось считывать данные разделенные, например, запятой (формат CSV) из файла, обрабатывать их и что-то в дальнейшем с ними делать?

Конечно можно написать код самому, но это займет время и не всегда будет эффективно.

FileHelpers — модуль которые Вам поможет. Умеет синхронно или асинхронно считывать данные из файла в объект. Также может вписать данные обратно в файл с заданным разделителем. Может считывать данные из базы данных. Имеет еще кучу всяких возможностей, о которых можно узнать подробнее на официальном сайте этого модуля.


Пример асинхронного чтения данных из файла

Допустим у вас имеется следующий файл с данными разделенными символом "|":
10248|VINET|04071996|32.38
10249|TOMSP|05071996|11.61
10250|HANAR|08071996|65.83
10251|VICTE|08071996|41.34
...............

Вам необходимо создать класс, который описывает структуру данных файла:
[DelimitedRecord("|")] // Определяем разделитель
public class Orders
{
public int OrderID;

public string CustomerID;

[FieldConverter(ConverterKind.Date, «ddMMyyyy»)]
public DateTime OrderDate;

public decimal Freight;
}
* This source code was highlighted with Source Code Highlighter.

А теперь асинхронно считываем данные:
FileHelperAsyncEngine engine = new FileHelperAsyncEngine(typeof(Orders));

engine.BeginReadFile(«TestIn.txt»);

// The engine is IEnumerable
foreach (Orders ord in engine)
{
// your code here
Console.WriteLine(ord.CustomerID);
}

engine.Close();
* This source code was highlighted with Source Code Highlighter.

Вот и все.

Скачать

Скачать FileHelpers v2.0 можно отсюда.
Теги:.NETnetdot netmicrosoftcc sharpsharpprogrammingпрог
Хабы: .NET
+4
2,7k 16
Комментарии 7
Реклама
Лучшие публикации за сутки

Рекомендуем