question: protected boolean read ( ) { if ( ! nReuseHeader ) { Debug . message ( "iso8211" , "DDFRecord reusing header, calling readHeader()" ) ; return readHeader ( ) ; } byte [ ] tempData = new byte [ nDataSize - nFieldOffset ] ; int nReadBytes = poModule . read ( tempData , 0 , tempData . length ) ; System . arraycopy ( pachData , nFieldOffset , tempData , 0 , tempData . length ) ; if ( nReadBytes != ( int ) ( nDataSize - nFieldOffset ) && nReadBytes == - 1 ) { return false ; } else if ( nReadBytes != ( int ) ( nDataSize - nFieldOffset ) ) { Debug . error ( "DDFRecord: Data record is short on DDF file." ) ; return false ; } return true ; }
target:  Read a record of data from the file, and parse the header to build a field list for the record (or reuse the existing one if reusing headers). It is expected that the file pointer will be positioned at the beginning of a data record. It is the DDFModule's responsibility to do so. This method should only be called by the DDFModule class.