This package holds all Record-Oriented IO routines.

The classes in this package read / write AbstractLines from files in a variety of formats formats. You access the classes in this package via either CobolIOProvider or LineIOProvider.

Important Classes:

Note:

All Line (or Record) Input Readers must extend AbstractLineReader.

All Line (or Record) Output Writers must extend AbstractLineWriter.

Following is an example of reading & writing a file using a REcordEditor-XML copybook

           LayoutDetail layout = CopybookLoaderFactory.getInstance().getLayoutRecordEditXml(copybookName, null);
 
           int fileStructure = layout.getFileStructure();
	            
           AbstractLineReader reader  = LineIOProvider.getInstance().getLineReader(fileStructure);
           AbstractLineWriter writer  = LineIOProvider.getInstance().getLineWriter(fileStructure);
      
           reader.open(salesFile, layout);
           writer.open(salesFileOut);

           while ((saleRecord = reader.read()) != null) {
               writer.write(saleRecord);
           }

           reader.close();
           writer.close();
The following example deminstrates creating a line and writing it to a File:

           int fileStructure = IFileStructureConstants.IO_FIXED_LENGTH;
           CopybookLoader loader = new RecordEditorXmlLoader();
           ExternalRecord extlayout = loader.loadCopyBook(copybookName, 0, 0, "", 0, 0, null);
	        
           LayoutDetail layout = extlayout.asLayoutDetail();
           AbstractLine saleRecord = new Line(layout);
           AbstractLineWriter writer  = LineIOProvider.getInstance().getLineWriter(fileStructure);
	            
           writer.open(salesFileOut);

           saleRecord.getFieldValue("KEYCODE-NO").set(1331);
           saleRecord.getFieldValue("STORE-NO").set(1);
           saleRecord.getFieldValue("DATE").set(80921);
           saleRecord.getFieldValue("DEPT-NO").set(100);
           saleRecord.getFieldValue("QTY-SOLD").set(7);
           saleRecord.getFieldValue("SALE-PRICE").set(7.00);
           writer.write(saleRecord);