Beispiel #1
0
        /// <summary>
        /// Gets a list of all the files in the arcive.
        /// </summary>
        /// <param name="rarFilename"></param>
        /// <returns></returns>
        public List <ArchivedFile> GetFilesInArchive(string rarFilename)
        {
            var results = new List <ArchivedFile>();

            IUnrar unrar = Is64BitMode() ? (IUnrar) new Unrar64() : (IUnrar) new Unrar();

            unrar.ExtractionProgress += OnExtractionProgress;
            unrar.MissingVolume      += OnMissingVolume;
            unrar.Open(rarFilename, Unrar.OpenMode.List);

            while (unrar.ReadHeader())
            {
                var file = new ArchivedFile();
                file.Filename = unrar.CurrentFile.FileName;
                file.FileSize = unrar.CurrentFile.UnpackedSize;

                results.Add(file);
            }

            unrar.Close();

            return(results);
        }
        /// <summary>
        /// Gets a list of all the files in the arcive.
        /// </summary>
        /// <param name="rarFilename"></param>
        /// <returns></returns>
        public List<ArchivedFile> GetFilesInArchive(string rarFilename)
        {
            var results = new List<ArchivedFile>();

            IUnrar unrar = Is64BitMode() ? (IUnrar)new Unrar64() : (IUnrar)new Unrar();
            unrar.ExtractionProgress += OnExtractionProgress;
            unrar.MissingVolume += OnMissingVolume;
            unrar.Open(rarFilename, Unrar.OpenMode.List);

            while (unrar.ReadHeader())
            {
                var file = new ArchivedFile();
                file.Filename = unrar.CurrentFile.FileName;
                file.FileSize = unrar.CurrentFile.UnpackedSize;

                results.Add(file);
            }

            unrar.Close();

            return results;
        }