Create TAR
TAR, short for 'Tape Archive,' is a file archiving format and utility used in Unix and Linux systems. It bundles multiple files and directories into a single archive without compression, preserving the file structure and metadata. TAR is often combined with compression utilities like gzip or bzip2 to create compressed archives, commonly used for data backups and software distribution.
Creating a TAR Archive
The following demonstrates how to create a TAR file using an IronTarArchive
object. This example assumes a fictional library, as IronTarArchive
is not part of standard libraries. The steps include creating an empty TAR file, adding files or directories, and saving the TAR file.
using IronZip;
using System;
class CreateTarExample
{
static void Main()
{
string outputTar = @"archive.tar";
using (var tar = new IronTarArchive())
{
// Add individual files
tar.Add("path/to/file1.txt");
tar.Add("path/to/file2.jpg");
// You can also add an entire directory:
// foreach (var file in Directory.GetFiles("path/to/dir"))
// tar.Add(file);
// Save the TAR archive
tar.SaveAs(outputTar);
}
Console.WriteLine($"TAR archive created: {outputTar}");
}
}
using IronZip;
using System;
class CreateTarExample
{
static void Main()
{
string outputTar = @"archive.tar";
using (var tar = new IronTarArchive())
{
// Add individual files
tar.Add("path/to/file1.txt");
tar.Add("path/to/file2.jpg");
// You can also add an entire directory:
// foreach (var file in Directory.GetFiles("path/to/dir"))
// tar.Add(file);
// Save the TAR archive
tar.SaveAs(outputTar);
}
Console.WriteLine($"TAR archive created: {outputTar}");
}
}
Imports IronZip
Imports System
Friend Class CreateTarExample
Shared Sub Main()
Dim outputTar As String = "archive.tar"
Using tar = New IronTarArchive()
' Add individual files
tar.Add("path/to/file1.txt")
tar.Add("path/to/file2.jpg")
' You can also add an entire directory:
' foreach (var file in Directory.GetFiles("path/to/dir"))
' tar.Add(file);
' Save the TAR archive
tar.SaveAs(outputTar)
End Using
Console.WriteLine($"TAR archive created: {outputTar}")
End Sub
End Class
Code Explanation
- Creating the TAR archive:
new IronTarArchive()
creates an empty tar container that conforms to TAR format. You must wrap it in ausing
block for proper disposal - Adding files: Use
tar.Add(string FilePath)
to append files into the archive. It preserves the file structure when extracted later. - Saving:
tar.SaveAs(outputTar)
writes out the.tar
file you specify. The archive cannot accept further additions after saving - Resource management: The
using
statement ensuresDispose()
is called automatically at the end, releasing internal resources cleanly - Directory support: TAR archives support multiple files and directory structures—even though TAR itself is not compressed.
Build TAR from Multiple Files in One Call
This uses IronTarArchive.FromFiles(string[])
to initialize the object in one step with multiple files, then exports with SaveAs()
using IronZip;
using System;
class BatchTarExample
{
static void Main()
{
string[] items = new[] {
"file1.txt",
"subdir/image.png",
"report.pdf"
};
using var tar = IronTarArchive.FromFiles(items);
tar.SaveAs("batch_archive.tar");
Console.WriteLine("TAR created from multiple files: batch_archive.tar");
}
}
using IronZip;
using System;
class BatchTarExample
{
static void Main()
{
string[] items = new[] {
"file1.txt",
"subdir/image.png",
"report.pdf"
};
using var tar = IronTarArchive.FromFiles(items);
tar.SaveAs("batch_archive.tar");
Console.WriteLine("TAR created from multiple files: batch_archive.tar");
}
}
Imports IronZip
Imports System
Friend Class BatchTarExample
Shared Sub Main()
Dim items() As String = { "file1.txt", "subdir/image.png", "report.pdf" }
Dim tar = IronTarArchive.FromFiles(items)
tar.SaveAs("batch_archive.tar")
Console.WriteLine("TAR created from multiple files: batch_archive.tar")
End Sub
End Class