Click or drag to resize
FileHelperAsyncEngineT Class

One of the main classes of the library.

This engine is responsible to Read/Write the records One by One from/to files or streams.

Inheritance Hierarchy
SystemObject
  FileHelpersEngineBase
    FileHelpersEventEngineBaseT
      FileHelpersFileHelperAsyncEngineT
        FileHelpersFileHelperAsyncEngine

Namespace: FileHelpers
Assembly: FileHelpers (in FileHelpers.dll) Version: 3.1.5
Syntax
public class FileHelperAsyncEngine<T> : EventEngineBase<T>, 
	IFileHelperAsyncEngine<T>, IEnumerable<T>, IEnumerable, IDisposable
where T : class

Type Parameters

T
The record type.

The FileHelperAsyncEngineT type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyEncoding
The encoding to Read and Write the streams. Default is the system's current ANSI code page.
(Inherited from EngineBase.)
Public propertyErrorManager
This is a common class that manages the errors of the library.
(Inherited from EngineBase.)
Public propertyErrorMode
Indicates the behavior of the engine when it finds an error. {Shortcut for )
(Inherited from EngineBase.)
Public propertyFooterText
The Read Footer in the last Read operation. If any.
(Inherited from EngineBase.)
Public propertyHeaderText
The Read Header in the last Read operation. If any.
(Inherited from EngineBase.)
Public propertyItemInt32
Get a field value of the current records.
Public propertyItemString
Get a field value of the current records.
Public propertyCode exampleLastRecord
Public propertyLastRecordValues
An array with the values of each field of the current record
Public propertyLineNumber
The current line number.
(Inherited from EngineBase.)
Public propertyOptions
Allows you to change some record layout options at runtime
(Inherited from EngineBase.)
Public propertyRecordType
Returns the type of records handled by this engine.
(Inherited from EngineBase.)
Public propertyTotalRecords
The total numbers of records in the last read/written file (only works with whole read/write).
(Inherited from EngineBase.)
Top
Methods
  NameDescription
Public methodBeginAppendToFile(String)
Begin the append to an existing file
Public methodBeginAppendToFile(String, Int32)
Open a file to Append to the end.
Public methodCode exampleBeginReadFile(String)
Open a specified file and seek to the first record.
Public methodCode exampleBeginReadFile(String, Int32)
Open a specified file and seek to the first record.
Public methodCode exampleBeginReadStream
Open a specified stream and seek to the first record.
Public methodBeginReadString
Public methodCode exampleBeginWriteFile(String)
Open a file to write it. If the file exists the engine will over write it
Public methodCode exampleBeginWriteFile(String, Int32)
Open a file to write it. If the file exists the engine will over write it
Public methodCode exampleBeginWriteStream
Set the stream to be used in the WriteNext(T) operation.
Public methodCode exampleClose
Close all opened stream readers and writers (if any).
Public methodFlush
Save all the buffered data for write to the disk. Useful to opened async engines that wants to save pending values to disk or for engines used for logging.
Public methodGetFileHeader
Builds a line with the name of the fields, for a delimited files it uses the same delimiter, for a fixed length field it writes the fields names separated with tabs
(Inherited from EngineBase.)
Public methodCode exampleReadNext
Reads the next record of a file.
Public methodReadNexts
Reads the specified number of records from a file or stream opened before.
Public methodReadToEnd
Return array of object for all data to end of the file
Public methodCode exampleWriteNext
Write the next record to a file or stream opened.
Public methodWriteNexts
Write the next records to a file or stream opened.
Public methodWriteNextValues
Write the current record values in the buffer. You can use engine[0] or engine["YourField"] to set the values.
Top
Events
Remarks

You can set the ErrorMode of this class to find out when there is an error. Retrieve them with the Errors property.

See in the Class Diagram and in the Quick Start Guide for more Info.

Or you can browse the Examples Section for more code.

Examples
This example shows a simple example use of the async methods in the FileHelperAsymcEngine:
using FileHelpers;

// First declare the record class

[Delimitedrecord("|")]
public class SampleType
{
    public string Field1;
    public int    Field2;
}


public void ReadExample()
{
    SampleType record;    

    var engine = new FileHelperAsyncEngine<SampleType>();

    using(engine.BeginReadFile("source.txt"))
    {
        foreach(var record in engine)
        {
           // put your code here !!!!
           Console.WriteLine("Data " + record.Field1 + " , " + record.Field2.ToString());
        }
    }
}


public void WriteExample()
{
    SampleType record;    

    var engine = new FileHelperAsyncEngine<SampleType>();

    using(engine.BeginWriteFile("source.txt"))
    {
        record.Field1 = "Primer Registro";
        record.Field2 = 1;
        engine.WriteNext(record);

        record.Field1 = "Segundo Registro";
        record.Field2 = 2;
        engine.WriteNext(record);
    }
}
See Also