http://filehelpers.sourceforge.net/
Free and Open Source!!
The FileHelpers are completely free because they are released under the LPGL Licence that allows the use of the code and binaries in all places, also in commercial applications.
You can access the full source code of the library via the Subversion Repository at SourceForge
Basic Uses of the Library
Who needs the File Helpers Library ?
In almost every project there is a need to read/write data from/to a file of a specified format.
For example for log parsing, data warehouse and OLAP applications, communication between systems, file format transformations (for example from a fixed length to a CSV file).
This library aims to provide an easy and reliable way to accomplish this task.
Main Features
Easy to use: The FileHelpers Lib is straight forward to learn and use. (see EasyExample)
Auto Converters: The library has a set of converters for the basic types and can be easy extended to provide custom converters. (see ConverterBase and Converter Example)
RunTime Classes from the version 1.6.0 you can create you record class at run time, load them from files with source code or an Xml description (check the example)
High Performance: From the version 2.0 the library dont use any more reflection to get or set the field values, now we are using dynamic code generation (MSIL) and delegates
Master-Detail: You can read and write records with a master/detail pattern. (see Example1 and Example2)
Multiple record format support: With the MultirecordEngine you can read files with different record layout, you can also read files with some delimited and some fixed length records. (see Example)
Event Support: The engines of the library contain some events to make you easy to extend the behavior of the library (see Example)
Ms Excel Storage: Are a way to extract / insert records between any source and an excel file. (see ExcelDataStorage and ExcelDataLinkExample)
DataLinks: Are a way to extract / insert records between a database and a file. (see DataStorage and FileDataLinkExample)
GenericDataLink: Now you can to copy records between two Data Storages (see GenericDataLink and DataStorage)
Asynchronous Mode: You can use the library to read line by line and not the whole file. (see Async Methods)
.NET Compact Framework Support From the version 1.1 you can use the FileHelpers library for you PocketPC and WindowsCE developments. (thanks Pierre)
File Transform Engine: to convert files in one format to another (for example a file with CSV to a FixedLength record format) (check the example)
Progress Notification: to get notified of the progress in each operation in the library (check the example)
.NET 2.0 Generics: the cast less and strong typed version of the engines (check the example)
.NET 2.0 Nullable Types now the library supports Nullable types in his core (check the example)
FileDiffEngine to allow compare files with the same record layout (check the example)
Others Features
Files, Stream and String Support: You can use the library to read/write any stream or string, not only files. (see FileHelperEngine)
Different Error Behaviors: You can set the behavior of the library when an error is found (throw and exception, ignore, save and continue, etc) (see the examples)
Quoted String Support It allows to indicates that the field must be read and written as Quoted String, like Excel CSV. (see FieldQuotedAttribute )
Data Table Operations: The library supports to direct read a file to a datatable rather than an array
CommonEngine a easy way to access to common operations (check the example)
Encoding Aware : You can define the encoding used to read and write files or streams. (see BaseEngine.Encoding)
NullValues : The library identifies the null values in the files and assign an adequate value. (see FieldNullValueAttribute)
Good Documentation : The library is fully documented, al least is the intention =) and with a lot of Examples of Use.
Align and Trimming: You can set the processing mode of the in/out strings with a lot of attributes like the FieldAlignAttribute and the FieldTrimAttribute.
Licence (LGPL)
FileHelpers Library is @Copyright 2005-2006 to Marcos Meli but it's source code and the binaries are free for commercial and non commercial use.
I惻l be happy to hear in what project are you using the library, if you wanna share this info with me only send a mail to: marcos@filehelpers.com
References
One of the best references that makes the work of programming this library more easy are the Designing .NET Class Libraries, a complete guide for design and programming of libraries and controls using the techniques of the creators and gurus of .NET.
Contact and Ideas
The main site of contact of the library are the FileHelpers Forums
If you find that there is a feature that I must include, or you have a new idea (for the API, Source Code or Examples), only let me know, entering the forums or sending an e-mail to marcos@filehelpers.com
See also
See also
Must Read - Quick Start Guide - Attributes List - F.A.Q. - Examples of Use - Contacts & Credits - Donations
留言列表