EDI File Joiner

Processing too many separate EDI files? Combine them into one!

EDIFileJoiner provides a fast and easy way to combine multiple X12 EDI files.  It exhibits fast reading and writing speeds and offers the ability to combine EDI files at the Functional Group Level (GS) or the Header Level (ST).

Main Features

  • Combine multiple X12 EDI files into one EDI file
  • Combine multiple X12 EDI strings into one in-memory string
  • Automatically handles ISA, ST, GS and IEA segment counts and control numbers
  • Combine X12 files at the functional group level (GS) or the header level (ST)
  • Creates easy to ready combined EDI data
  • Asynchronous file read and write operations
  • Easy to use API


EDIFileJoiner quickly and efficiently combines separate EDI files into one.  Output files can then be archived.  Output files can also be made more readable by the insertion of line breaks.  By allowing custom read and write buffer size EDIFileJoiner decreases IO and increases overall performance.  File joining is performed asynchronously on a pooled thread to increase program responsiveness.

Combining in-memory strings containing EDI data is also supported as of version 7.3 of RDPCrystal EDI Library


EDIFileJoiner joiner = new EDIFileJoiner();
joiner.AutoDetectDelimiters = true;

// Join the files at the ST header level
joiner.FileJoinLevel = FileJoinLevel.HEADER;

// Subscribe to be notified when the joining operation is complete
joiner.OnFileOperationCompleted += new EventHandler(joiner_OnFileOperationCompleted);

// Specify the list of files to join
List files = new List();

// Join the EDI files
joiner.Join(files, "CombinedAll.txt");
private void joiner_OnFileOperationCompleted(object sender, FileOperationCompletedEventArgs e)
   if (e.Status != FileOperationStatus.Success)
     // Success
The EDIFileJoiner component is included in RDPCrystal EDI Library