/** * 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; } }