Exemple #1
0
        /**
         * Make entry map in lha file.
         *
         * @throws LhaException
         *             if a lha format error has occurred
         * @throws IOException
         *             if an I/O error has occured
         */
        private void MakeEntryMap()
        {
            LhaEntryReader lhaEntryReader = new LhaEntryReader(binaryReader, encoding);

            this.size = 0;

            while (true)
            {
                LhaEntry e = lhaEntryReader.ReadHeader();

                if (e == null)
                {
                    break;
                }

                e.SetOffset(binaryReader.BaseStream.Position);
                entryList.Add(e);
                entryMap.Add(e.GetPath(), e);
                ++size;

                int skipSize = (int)e.GetCompressedSize();
                binaryReader.BaseStream.Position += skipSize;
            }
        }