Пример #1
0
        private PsvImgTailer readTailer()
        {
            PsvImgTailer tailer = new PsvImgTailer();

            tailer.Flags = readUInt64();
            _read(tailer.Padding, 0x00, 1004);
            _read(tailer.bEnd, 0x00, 12);
            return(tailer);
        }
Пример #2
0
        private void findFile(string path)
        {
            _seek(0x00, SeekOrigin.Begin);
            while (psvStream.Position < psvStream.Length)
            {
                PsvImgHeader header  = readHeader();
                long         size    = (long)header.Statistics.Size;
                long         padding = PSVIMGPadding.GetPadding(size);

                if (header.Path == path)
                {
                    length   = size;
                    startPos = psvStream.Position;
                    endPos   = startPos + length;
                    return;
                }
                else
                {
                    _seek(size + padding, SeekOrigin.Current);
                    PsvImgTailer tailer = readTailer();
                }
            }
            throw new FileNotFoundException("Cannot find file specified");
        }