Beispiel #1
0
        public void Decompress()
        {
            if (OsmFile.Extension != ".zip")
            {
                return;
            }

            DirectoryInfo osmFileDir = new DirectoryInfo(OsmFile.DirectoryName);

            try
            {
                ZipArchive      archive  = ZipFile.OpenRead(OsmFile.FullName);
                ZipArchiveEntry entry    = archive.Entries[0];
                string          fileName = string.Format("{0}\\{1}", osmFileDir.FullName, entry.FullName);
                entry.ExtractToFile(fileName);
                FileInfo unzippedFile = new FileInfo(fileName);
                if (unzippedFile.Exists)
                {
                    archive.Dispose();
                    archive = null;
                    OsmFile.Delete();
                    OsmFile = unzippedFile;
                    Zipped  = false;
                }
                else
                {
                    throw new Exception("Unable to decompress OSM file.");
                }
            }
            catch (Exception ex)
            {
                LogHelper.LogException(ex);
            }
        }