C#. Запаковать в tar без сжатия

90
02 марта 2021, 14:30

Собственно, требуется запаковать папку в .tar без потери скорости на распаковку сжатием.

ЯП: C# (.NET Framework 4.6)

Как это сделать?

Видел over 100500 примеров tar.gz, но он мне НЕ подходит :(

Можете помочь?

Answer 1
private void AddDirectoryFilesToTar(TarArchive tarArchive, string sourceDirectory, bool recurse)
{
    TarEntry tarEntry = TarEntry.CreateEntryFromFile(sourceDirectory);
    tarArchive.WriteEntry(tarEntry, false);

    string[] filenames = Directory.GetFiles(sourceDirectory);
    foreach (string filename in filenames)
    {
        tarEntry = TarEntry.CreateEntryFromFile(filename);
        tarArchive.WriteEntry(tarEntry, true);
    }
    if (recurse)
    {
        string[] directories = Directory.GetDirectories(sourceDirectory);
        foreach (string directory in directories)
            AddDirectoryFilesToTar(tarArchive, directory, recurse);
    }
}
private void CreateTar(string tgzFilename, string sourceDirectory)
{
    Stream outStream = File.Create(tgzFilename);
    TarArchive tarArchive = TarArchive.CreateOutputTarArchive(outStream);
    tarArchive.RootPath = sourceDirectory.Replace('\\', '/');
    if (tarArchive.RootPath.EndsWith("/"))
        tarArchive.RootPath = tarArchive.RootPath.Remove(tarArchive.RootPath.Length - 1);
    AddDirectoryFilesToTar(tarArchive, sourceDirectory, true);
    tarArchive.Close();
}

НО! Нужно добавить SharpZipLib

READ ALSO
Ошибка при передачи параметра даты в базу данных

Ошибка при передачи параметра даты в базу данных

Мне необходимо передать в качестве параметра сравнения датуБлагодаря этому на экран выводятся соответствующие данные

114
WPF - свои имена столбцов в DataGrid

WPF - свои имена столбцов в DataGrid

Не могу понять каким образом установить свои наименования заголовкам столбцов? Во View есть DataGrid, который должен выводить инфу:

87
Не производится поиск файлов по всем дискам

Не производится поиск файлов по всем дискам

Имеется метод которые получает все диски

102
Почему не выводит текст в консоль? [дубликат]

Почему не выводит текст в консоль? [дубликат]

Потому что программа успевает завершиться пока задача спит

106