当前位置: 首页>>代码示例>>C#>>正文


C# ZipExtraData.GetData方法代码示例

本文整理汇总了C#中ICSharpCode.SharpZipLib.Zip.ZipExtraData.GetData方法的典型用法代码示例。如果您正苦于以下问题:C# ZipExtraData.GetData方法的具体用法?C# ZipExtraData.GetData怎么用?C# ZipExtraData.GetData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ICSharpCode.SharpZipLib.Zip.ZipExtraData的用法示例。


在下文中一共展示了ZipExtraData.GetData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetDateTime

        private DateTime GetDateTime(ZipExtraData extraData)
        {
            // Check for NT timestamp
            // NOTE: Disable by default to match behavior of InfoZIP
            #if RESPECT_NT_TIMESTAMP
            NTTaggedData ntData = extraData.GetData<NTTaggedData>();
            if (ntData != null)
                return ntData.LastModificationTime;
            #endif

            // Check for Unix timestamp
            ExtendedUnixData unixData = extraData.GetData<ExtendedUnixData>();
            if (unixData != null &&
                // Only apply modification time, but require all other values to be present
                // This is done to match InfoZIP's behaviour
                ((unixData.Include & ExtendedUnixData.Flags.ModificationTime) != 0) &&
                ((unixData.Include & ExtendedUnixData.Flags.AccessTime) != 0) &&
                ((unixData.Include & ExtendedUnixData.Flags.CreateTime) != 0))
                return unixData.ModificationTime;

            // Fall back to DOS time
            uint sec = Math.Min(59, 2 * (dosTime & 0x1f));
            uint min = Math.Min(59, (dosTime >> 5) & 0x3f);
            uint hrs = Math.Min(23, (dosTime >> 11) & 0x1f);
            uint mon = Math.Max(1, Math.Min(12, ((dosTime >> 21) & 0xf)));
            uint year = ((dosTime >> 25) & 0x7f) + 1980;
            int day = Math.Max(1, Math.Min(DateTime.DaysInMonth((int)year, (int)mon), (int)((dosTime >> 16) & 0x1f)));
            return new DateTime((int)year, (int)mon, day, (int)hrs, (int)min, (int)sec, DateTimeKind.Utc);
        }
开发者ID:icsharpcode,项目名称:SharpZipLib,代码行数:29,代码来源:ZipEntry.cs


注:本文中的ICSharpCode.SharpZipLib.Zip.ZipExtraData.GetData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。