private void deserializePrimary ( byte [ ] descriptor ) throws IOException { // according to the spec, some ISO 9660 file systems can contain multiple identical primary // volume descriptors if ( this . hasPrimary ) { return ; } validateBlockSize ( descriptor ) ; if ( ! this . hasSupplementary ) { deserializeCommon ( descriptor ) ; } this . standardIdentifier = Util . getDChars ( descriptor , 2 , 5 ) ; this . volumeSetSize = Util . getUInt16Both ( descriptor , 121 ) ; this . volumeSequenceNumber = Util . getUInt16Both ( descriptor , 125 ) ; this . totalBlocks = Util . getUInt32Both ( descriptor , 81 ) ; this . publisher = Util . getDChars ( descriptor , 319 , 128 ) ; this . preparer = Util . getDChars ( descriptor , 447 , 128 ) ; this . application = Util . getDChars ( descriptor , 575 , 128 ) ; //this.copyrightFile = Descriptor.get(buffer, 703, 37) //this.abstractFile = Descriptor.get(buffer, 740, 37) //this.bibliographicalFile = Descriptor.get(buffer, 777, 37) this . creationTime = Util . getStringDate ( descriptor , 814 ) ; this . mostRecentModificationTime = Util . getStringDate ( descriptor , 831 ) ; this . expirationTime = Util . getStringDate ( descriptor , 848 ) ; this . effectiveTime = Util . getStringDate ( descriptor , 865 ) ; this . pathTableSize = Util . getUInt32Both ( descriptor , 133 ) ; this . locationOfLittleEndianPathTable = Util . getUInt32LE ( descriptor , 141 ) ; this . locationOfOptionalLittleEndianPathTable = Util . getUInt32LE ( descriptor , 145 ) ; this . locationOfBigEndianPathTable = Util . getUInt32BE ( descriptor , 149 ) ; this . locationOfOptionalBigEndianPathTable = Util . getUInt32BE ( descriptor , 153 ) ; this . hasPrimary = true ; }
Read the fields of a primary volume descriptor .