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);