Ejemplo n.º 1
0
        public static SFOHeader Read(Stream fIn)
        {
            SFOHeader sfoHeader = new SFOHeader();

            byte[] tempByteArray = new byte[4];

            // read FileType
            fIn.Read(tempByteArray, 0, 4);
            sfoHeader.FileType = SFOReaderUtilities.ByteArrayToString(tempByteArray);

            // read sfoVerion
            fIn.Read(tempByteArray, 0, 4);
            sfoHeader.SfoVersion = SFOReaderUtilities.ByteArrayToString(tempByteArray);

            // read offsetKeyTable
            fIn.Read(tempByteArray, 0, 4);
            sfoHeader.OffsetKeyTable = SFOReaderUtilities.ByteArrayReverseToInt(tempByteArray);

            // read offsetValueTable
            fIn.Read(tempByteArray, 0, 4);
            sfoHeader.OffsetValueTable = SFOReaderUtilities.ByteArrayReverseToInt(tempByteArray);

            // read numberDataItem
            fIn.Read(tempByteArray, 0, 4);
            sfoHeader.NumberDataItems = SFOReaderUtilities.ByteArrayReverseToInt(tempByteArray);

            return(sfoHeader);
        }
Ejemplo n.º 2
0
        /**
         * Reads an entry of the dataValueTable an return it as String
         *
         * @param fIn
         * @param sfoIndexTableEntry
         * @return String
         * @throws IOException
         */
        public string ReadEntry(Stream sfoFile, SFOIndexTableEntry sfoIndexTableEntry)
        {
            byte[] entryByteArray = new byte[sfoIndexTableEntry.SizeValueData];

            sfoFile.Read(entryByteArray, 0, sfoIndexTableEntry.SizeValueData);
            this.valueBytesReaded += sfoIndexTableEntry.SizeValueData;

            long offsetNextValue = sfoIndexTableEntry.OffsetDataValueInDataTable +
                                   sfoIndexTableEntry.SizeValueDataAndPadding; // korrekt!
            long skipBytes = offsetNextValue - this.valueBytesReaded;

            sfoFile.Seek(skipBytes, SeekOrigin.Current);
            this.valueBytesReaded += Convert.ToInt32(skipBytes);

            return(SFOReaderUtilities.ByteArrayToString(entryByteArray, true));
        }
Ejemplo n.º 3
0
 /**
  * Converts any byte[]-Array to a string with the specified encoding.
  *
  * @param byteArray
  * @param encoding
  * @return String
  */
 public static string ByteArrayToString(byte[] byteArray)
 {
     return(SFOReaderUtilities.ByteArrayToString(byteArray, false));
 }