LineDataRecordWriter class

The LineDataRecordWriter class writes the record data, in line data format, to an OutputStream. The class translates the data into bytes by using the specified CCSID. The record format associated with the record determines the format of the data.

LineDataRecordWriter

Using LineDataRecordWriter requires that the following record format attributes be set:

In conjunction with the Record or the RecordFormat classes, the LineDataRecordWriter takes a record as input to the writeRecord() method. (Record takes a RecordFormat as input when you instantiate it.)

The LineDataRecordWriter class provides methods that allow you to:

Example: Using the LineDataRecordWriter class

Note: Read the Code example disclaimer for important legal information.

The following example shows one way to use the LineDataRecordWriter class to write a record:

     // Example using the LineDataRecordWriter class.
        try
        {
          // create a ccsid
          ccsid_ = system_.getCcsid();
          
          // create output queue and specify spooled file data to be *LINE
          OutputQueue outQ = new OutputQueue(system_, "/QSYS.LIB/RLPLIB.LIB/LDRW.OUTQ");
          PrintParameterList parms = new PrintParameterList();
          parms.setParameter(PrintObject.ATTR_PRTDEVTYPE, "*LINE");
          
          // initialize the record format for writing data 
          RecordFormat recfmt = initializeRecordFormat();
        
          // create a record and assign data to be printed...
          Record record = new Record(recfmt);
          createRecord(record);
         
          SpooledFileOutputStream os = null;
          try { 
              // create the output spooled file to hold the record data
              os = new SpooledFileOutputStream(system_, parms, null, outQ);   
          }
          catch (Exception e) {
              System.out.println("Error occurred creating spooled file");
              e.printStackTrace();
          }
           
          // create the line data record writer
          LineDataRecordWriter ldw;
          ldw = new LineDataRecordWriter(os, ccsid_, system_);
          
          // write the record of data
          ldw.writeRecord(record);

          // close the outputstream 
          os.close();
        }

        catch(Exception e)
        {
          failed(e, "Exception occurred.");
        }