mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-02-09 21:24:08 +00:00
55 lines
1.7 KiB
C#
55 lines
1.7 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using SharpCompress.Archives;
|
|
using SharpCompress.Performance;
|
|
using SharpCompress.Readers;
|
|
using SharpCompress.Test;
|
|
|
|
var index = AppDomain.CurrentDomain.BaseDirectory.IndexOf(
|
|
"SharpCompress.Performance",
|
|
StringComparison.OrdinalIgnoreCase
|
|
);
|
|
var path = AppDomain.CurrentDomain.BaseDirectory.Substring(0, index);
|
|
var SOLUTION_BASE_PATH = Path.GetDirectoryName(path) ?? throw new ArgumentNullException();
|
|
|
|
var TEST_ARCHIVES_PATH = Path.Combine(SOLUTION_BASE_PATH, "TestArchives", "Archives");
|
|
|
|
//using var _ = JetbrainsProfiler.Memory($"/Users/adam/temp/");
|
|
using (var __ = JetbrainsProfiler.Cpu($"/Users/adam/temp/"))
|
|
{
|
|
var testArchives = new[]
|
|
{
|
|
"Rar.Audio_program.rar",
|
|
|
|
//"64bitstream.zip.7z",
|
|
//"TarWithSymlink.tar.gz"
|
|
};
|
|
var arcs = testArchives.Select(a => Path.Combine(TEST_ARCHIVES_PATH, a)).ToArray();
|
|
|
|
for (int i = 0; i < 50; i++)
|
|
{
|
|
using var found = ArchiveFactory.OpenArchive(arcs[0]);
|
|
foreach (var entry in found.Entries.Where(entry => !entry.IsDirectory))
|
|
{
|
|
Console.WriteLine($"Extracting {entry.Key}");
|
|
using var entryStream = entry.OpenEntryStream();
|
|
entryStream.CopyTo(Stream.Null);
|
|
}
|
|
/*using var found = ReaderFactory.OpenReader(arcs[0]);
|
|
while (found.MoveToNextEntry())
|
|
{
|
|
var entry = found.Entry;
|
|
if (entry.IsDirectory)
|
|
continue;
|
|
|
|
Console.WriteLine($"Extracting {entry.Key}");
|
|
found.WriteEntryTo(Stream.Null);
|
|
}*/
|
|
}
|
|
|
|
Console.WriteLine("Still running...");
|
|
}
|
|
await Task.Delay(500);
|