Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. private void AddDirectoryFilesToTar(TarArchive tarArchive, string sourceDirectory, bool recurse)
  2. {
  3. TarEntry tarEntry = TarEntry.CreateEntryFromFile(sourceDirectory);
  4. tarArchive.WriteEntry(tarEntry, false);
  5.  
  6.  
  7. string[] filenames = Directory.GetFiles(sourceDirectory);
  8. foreach (string filename in filenames)
  9. {
  10. tarEntry = TarEntry.CreateEntryFromFile(filename);
  11. tarArchive.WriteEntry(tarEntry, true);
  12. }
  13.  
  14. if (recurse)
  15. {
  16. string[] directories = Directory.GetDirectories(sourceDirectory);
  17. foreach (string directory in directories)
  18. AddDirectoryFilesToTar(tarArchive, directory, recurse);
  19. }
  20. }
  21.  
  22. private void CreateTar(string tgzFilename, string sourceDirectory)
  23. {
  24. Stream outStream = File.Create(tgzFilename);
  25. TarArchive tarArchive = TarArchive.CreateOutputTarArchive(outStream);
  26. tarArchive.RootPath = sourceDirectory.Replace('\', '/');
  27. if (tarArchive.RootPath.EndsWith("/"))
  28. tarArchive.RootPath = tarArchive.RootPath.Remove(tarArchive.RootPath.Length - 1);
  29. AddDirectoryFilesToTar(tarArchive, sourceDirectory, true);
  30. tarArchive.Close();
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement