Changeset 11650 for trunk/sources/HeuristicLab.Problems.Instances.QAPLIB/3.3/QAPLIBInstanceProvider.cs
- Timestamp:
- 12/04/14 12:56:57 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.Instances.QAPLIB/3.3/QAPLIBInstanceProvider.cs
r11171 r11650 23 23 using System.Collections.Generic; 24 24 using System.IO; 25 using System.IO.Compression; 25 26 using System.Linq; 26 27 using System.Reflection; 27 28 using System.Text.RegularExpressions; 28 using ICSharpCode.SharpZipLib.Zip;29 29 30 30 namespace HeuristicLab.Problems.Instances.QAPLIB { … … 34 34 protected virtual HashSet<string> ReversedSolutions { 35 35 get { 36 36 return new HashSet<string>(new string[] { 37 37 "bur26a", 38 38 "bur26b", … … 177 177 var solutionsArchiveName = GetResourceName(FileName + @"\.sln\.zip"); 178 178 if (!String.IsNullOrEmpty(solutionsArchiveName)) { 179 using (var solutionsZipFile = new Zip InputStream(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName))) {180 foreach (var entry in GetZipContents(solutionsZipFile))181 solutions.Add(Path.GetFileNameWithoutExtension(entry ) + ".dat", entry);179 using (var solutionsZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName), ZipArchiveMode.Read)) { 180 foreach (var entry in solutionsZipFile.Entries) 181 solutions.Add(Path.GetFileNameWithoutExtension(entry.Name) + ".dat", entry.Name); 182 182 } 183 183 } … … 185 185 if (String.IsNullOrEmpty(instanceArchiveName)) yield break; 186 186 187 using (var instanceStream = new Zip InputStream(GetType().Assembly.GetManifestResourceStream(instanceArchiveName))) {188 foreach (var entry in GetZipContents(instanceStream).OrderBy(x => x)) {187 using (var instanceStream = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) { 188 foreach (var entry in instanceStream.Entries.Select(x => x.Name).OrderBy(x => x)) { 189 189 yield return new QAPLIBDataDescriptor(Path.GetFileNameWithoutExtension(entry), GetDescription(), entry, solutions.ContainsKey(entry) ? solutions[entry] : String.Empty); 190 190 } … … 195 195 var descriptor = (QAPLIBDataDescriptor)id; 196 196 var instanceArchiveName = GetResourceName(FileName + @"\.dat\.zip"); 197 using (var instancesZipFile = new Zip File(GetType().Assembly.GetManifestResourceStream(instanceArchiveName))) {197 using (var instancesZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(instanceArchiveName), ZipArchiveMode.Read)) { 198 198 var entry = instancesZipFile.GetEntry(descriptor.InstanceIdentifier); 199 199 200 using (var stream = instancesZipFile.GetInputStream(entry)) {200 using (var stream = entry.Open()) { 201 201 var parser = new QAPLIBParser(); 202 202 parser.Parse(stream); … … 207 207 if (!String.IsNullOrEmpty(descriptor.SolutionIdentifier)) { 208 208 var solutionsArchiveName = GetResourceName(FileName + @"\.sln\.zip"); 209 using (var solutionsZipFile = new Zip File(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName))) {209 using (var solutionsZipFile = new ZipArchive(GetType().Assembly.GetManifestResourceStream(solutionsArchiveName), ZipArchiveMode.Read)) { 210 210 entry = solutionsZipFile.GetEntry(descriptor.SolutionIdentifier); 211 using (var solStream = solutionsZipFile.GetInputStream(entry)) {211 using (var solStream = entry.Open()) { 212 212 var slnParser = new QAPLIBSolutionParser(); 213 213 slnParser.Parse(solStream, true); … … 258 258 .Where(x => Regex.Match(x, @".*\.Data\." + fileName).Success).SingleOrDefault(); 259 259 } 260 261 protected IEnumerable<string> GetZipContents(ZipInputStream zipFile) {262 ZipEntry entry;263 while ((entry = zipFile.GetNextEntry()) != null) {264 yield return entry.Name;265 }266 }267 260 } 268 261 }
Note: See TracChangeset
for help on using the changeset viewer.