コード例 #1
0
        public void Read(byte[] bytes)
        {
            if (bytes.Length < compressedxsize)
            {
                bytes = PCKZlib.Decompress(bytes, compressedxsize);
            }
            BinaryReader br = new BinaryReader(new MemoryStream(bytes));

            filePath = Encoding.GetEncoding("GB2312").GetString(br.ReadBytes(260)).Split(new string[] { "\0" }, StringSplitOptions.RemoveEmptyEntries)[0].Replace("/", "\\");
            fullP    = string.Empty;
            if (this.version > 2)
            {
                other      = br.ReadBytes(4);
                fileoffset = br.ReadInt64();
            }
            else
            {
                fileoffset = br.ReadUInt32();
            }

            decompressedSize = br.ReadInt32();
            compressedSize   = br.ReadInt32();
            br.Close();
        }