コード例 #1
0
        private void CreateZip64EndOfCentralDirectoryLocatorBlock()
        {
            int index = this._blockList.IndexOf(this.EndOfCentralDirectoryBlock);

            this._zip64EndOfCentralDirectoryLocatorBlock = ZipIOZip64EndOfCentralDirectoryLocatorBlock.CreateNew(this);
            this.InsertBlock(index, this._zip64EndOfCentralDirectoryLocatorBlock);
        }
コード例 #2
0
        internal static ZipIOZip64EndOfCentralDirectoryLocatorBlock CreateNew(ZipIOBlockManager blockManager)
        {
            ZipIOZip64EndOfCentralDirectoryLocatorBlock block = new ZipIOZip64EndOfCentralDirectoryLocatorBlock(blockManager);

            block._offset    = 0L;
            block._size      = 0L;
            block._dirtyFlag = false;
            return(block);
        }
コード例 #3
0
        internal static ZipIOZip64EndOfCentralDirectoryLocatorBlock SeekableLoad(ZipIOBlockManager blockManager)
        {
            long offset = blockManager.EndOfCentralDirectoryBlock.Offset - 20L;

            blockManager.Stream.Seek(offset, SeekOrigin.Begin);
            ZipIOZip64EndOfCentralDirectoryLocatorBlock block = new ZipIOZip64EndOfCentralDirectoryLocatorBlock(blockManager);

            block.ParseRecord(blockManager.BinaryReader, offset);
            return(block);
        }
コード例 #4
0
 private void LoadZip64EndOfCentralDirectoryLocatorBlock()
 {
     this._zip64EndOfCentralDirectoryLocatorBlock = ZipIOZip64EndOfCentralDirectoryLocatorBlock.SeekableLoad(this);
     this.MapBlock(this._zip64EndOfCentralDirectoryLocatorBlock);
 }
コード例 #5
0
 private void CreateLoadZip64Blocks()
 {
     this.CheckDisposed();
     if ((!this.Streaming && this.EndOfCentralDirectoryBlock.ContainValuesHintingToPossibilityOfZip64) && ZipIOZip64EndOfCentralDirectoryLocatorBlock.SniffTheBlockSignature(this))
     {
         this.LoadZip64EndOfCentralDirectoryLocatorBlock();
         this.LoadZip64EndOfCentralDirectoryBlock();
     }
     else
     {
         this._endOfCentralDirectoryBlock.ValidateZip64TriggerValues();
         this.CreateZip64EndOfCentralDirectoryLocatorBlock();
         this.CreateZip64EndOfCentralDirectoryBlock();
     }
 }