/** * Reads one entry of the indexTable and return it's values in a SFOIndexTableEntry-object * @param fIn * @return SFOIndexTableEntry * @throws IOException */ public static SFOIndexTableEntry readEntry(FileStream fIn) { SFOIndexTableEntry sfoIndexTableEntry = new SFOIndexTableEntry(); byte[] tempByteArray1 = new byte[1]; byte[] tempByteArray2 = new byte[2]; byte[] tempByteArray4 = new byte[4]; // read offsetKeyNameInKeyTable fIn.Read(tempByteArray2, 0, 2); sfoIndexTableEntry.setOffsetKeyNameInKeyTable(tempByteArray2); // read dataAlignmentRequirements fIn.Read(tempByteArray1, 0, 1); sfoIndexTableEntry.setDataAlignmentRequirements(tempByteArray1[0]); // read dataTypeValue fIn.Read(tempByteArray1, 0, 1); sfoIndexTableEntry.setDataTypeValue(tempByteArray1[0]); // read sizeValueData fIn.Read(tempByteArray4, 0, 4); sfoIndexTableEntry.setSizeValueData(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray4)); // read sizeValueDataAndPadding fIn.Read(tempByteArray4, 0, 4); sfoIndexTableEntry.setSizeValueDataAndPadding(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray4)); // read offsetDataValueInDataTable fIn.Read(tempByteArray4, 0, 4); sfoIndexTableEntry.setOffsetDataValueInDataTable(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray4)); return(sfoIndexTableEntry); }
public static SFOHeader read(FileStream fIn) { SFOHeader sfoHeader = new SFOHeader(); byte[] tempByteArray = new byte[4]; // read FileType fIn.Read(tempByteArray, 0, 4); sfoHeader.setFileType(SFOReaderUtilities.byteArrayToString(tempByteArray)); // read sfoVerion fIn.Read(tempByteArray, 0, 4); sfoHeader.setSfoVersion(SFOReaderUtilities.byteArrayToString(tempByteArray)); // read offsetKeyTable fIn.Read(tempByteArray, 0, 4); sfoHeader.setOffsetKeyTable(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray)); // read offsetValueTable fIn.Read(tempByteArray, 0, 4); sfoHeader.setOffsetValueTable(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray)); // read numberDataItem fIn.Read(tempByteArray, 0, 4); sfoHeader.setNumberDataItems(SFOReaderUtilities.byteArrayReverseToInt(tempByteArray)); return(sfoHeader); }