Class CpioArchive

Class CpioArchive

Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)

Denna klass representerar cpio-arkivfil.

public class CpioArchive : IArchive, IDisposable

Arv

objectCpioArchive

Implementerar

IArchive, IDisposable

Arvade medlemmar

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Konstruktörer

CpioArchive()

Initierar en ny instans av Aspose.Zip.Cpio.CpioArchive-klassen.

public CpioArchive()

Exempel

Följande exempel visar hur man komprimerar en fil.

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

CpioArchive(Stream)

Initierar en ny instans av Aspose.Zip.Cpio.CpioArchive-klassen och komponerar en lista med poster som kan extraheras från arkivet.

public CpioArchive(Stream sourceStream)

Parametrar

sourceStream Stream

Källan till arkivet. Den måste vara sökbar.

Exempel

Följande exempel visar hur man extraherar alla poster till en katalog.

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Anmärkningar

Denna konstruktor packar inte upp någon post. Se metoden Aspose.Zip.Cpio.CpioEntry.Open för uppackning.

Undantag

ArgumentNullException

sourceStream är null.

ArgumentException

sourceStream är inte sökbar.

InvalidDataException

sourceStream är inte ett giltigt cpio-arkiv.

CpioArchive(string)

Initierar en ny instans av Aspose.Zip.Cpio.CpioArchive-klassen och komponerar en lista med poster som kan extraheras från arkivet.

public CpioArchive(string path)

Parametrar

path string

Sökvägen till arkivfilen.

Exempel

Följande exempel visar hur man extraherar alla poster till en katalog.

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Anmärkningar

Denna konstruktor packar inte upp någon post. Se metoden Aspose.Zip.Cpio.CpioEntry.Open för uppackning.

Undantag

ArgumentNullException

path är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

path är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Åtkomst till filen path nekas.

PathTooLongException

Den angivna path, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn mindre än 260 tecken.

NotSupportedException

Fil på path innehåller ett kolon (:) i mitten av strängen.

FileNotFoundException

Filens hittas inte.

DirectoryNotFoundException

Den angivna sökvägen är ogiltig, till exempel om den ligger på en icke-mappad enhet.

IOException

Fil är redan öppen.

Egenskaper

Entries

Hämtar poster av Aspose.Zip.Cpio.CpioEntry-typ som utgör arkivet.

public ReadOnlyCollection<cpioentry> Entries { get; }

Egenskapsvärde

ReadOnlyCollection<CpioEntry&gt;

Metoder

CreateEntries(string, bool)

Lägger till alla filer och kataloger rekursivt i den angivna katalogen till arkivet.

public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parametrar

sourceDirectory string

Katalog att komprimera.

includeRootDirectory bool

Anger om rotkatalogen själv ska inkluderas eller inte.

Returer

CpioArchive

Instans av Cpio-post.

Exempel

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(cpioFile);
    }
}

Undantag

ArgumentNullException

sourceDirectory är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst till sourceDirectory.

ArgumentException

sourceDirectory innehåller ogiltiga tecken som “, <, > eller |.

PathTooLongException

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn mindre än 260 tecken. Den angivna sökvägen, filnamnet eller båda är för långa.

IOException

sourceDirectory står för en fil, inte för en katalog.

CreateEntries(DirectoryInfo, bool)

Lägger till alla filer och kataloger rekursivt i den angivna katalogen till arkivet.

public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parametrar

directory DirectoryInfo

Katalog att komprimera.

includeRootDirectory bool

Anger om rotkatalogen själv ska inkluderas eller inte.

Returer

CpioArchive

Instans av Cpio-post.

Exempel

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(cpioFile);
    }
}

Undantag

ArgumentNullException

directory är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst till directory.

IOException

directory står för en fil, inte för en katalog.

CreateEntry(string, FileInfo, bool)

Skapa en enskild post inom arkivet.

public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Parametrar

name string

Namnet på posten.

fileInfo FileInfo

Metadata för fil eller mapp som ska komprimeras.

openImmediately bool

Sant om filen ska öppnas omedelbart, annars öppnas filen vid arkivets sparande.

Returer

CpioEntry

Instans av Cpio-post.

Exempel

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.cpio");
}

Anmärkningar

Om filen öppnas omedelbart med openImmediately-parametern blir den blockerad tills arkivet har avyttrats.

Undantag

ArgumentNullException

name är null.

ArgumentException

name är tom.

ArgumentNullException

fileInfo är null.

CreateEntry(string, string, bool)

Skapa en enskild post inom arkivet.

public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Parametrar

name string

Namnet på posten.

sourcePath string

Sökväg till filen som ska komprimeras.

openImmediately bool

Sant om filen ska öppnas omedelbart, annars öppnas filen vid arkivets sparande.

Returer

CpioEntry

Instans av Cpio-post.

Exempel

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

Anmärkningar

Postnamnet ställs enbart in inom name-parametern. Filnamnet som anges i sourcePath-parametern påverkar inte postnamnet.

Om filen öppnas omedelbart med openImmediately-parametern blir den blockerad tills arkivet har avyttrats.

Undantag

ArgumentNullException

sourcePath är null.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst.

ArgumentException

sourcePath är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken. - eller - Filnamnet, som en del av name, överskrider 100 symboler.

UnauthorizedAccessException

Åtkomst till filen sourcePath nekas.

PathTooLongException

Den angivna sourcePath, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn mindre än 260 tecken. - eller - name är för långt för cpio.

NotSupportedException

Fil på sourcePath innehåller ett kolon (:) i mitten av strängen.

CreateEntry(string, Stream)

Skapa en enskild post inom arkivet.

public CpioEntry CreateEntry(string name, Stream source)

Parametrar

name string

Namnet på posten.

source Stream

Indataflödet för posten.

Returer

CpioEntry

Instans av Cpio-post.

Exempel

using (var archive = new CpioArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.cpio");
}

Undantag

ArgumentNullException

name är null.

ArgumentNullException

source är null.

ArgumentException

name är tom.

DeleteEntry(CpioEntry)

Tar bort den första förekomsten av en specifik post från listan med poster.

public CpioArchive DeleteEntry(CpioEntry entry)

Parametrar

entry CpioEntry

Posten som ska tas bort från listan med poster.

Returer

CpioArchive

Instans av Cpio-post.

Exempel

Här är hur du kan ta bort alla poster utom den sista:

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

Undantag

ArgumentNullException

entry är null.

DeleteEntry(int)

Tar bort posten från listan med poster efter index.

public CpioArchive DeleteEntry(int entryIndex)

Parametrar

entryIndex int

Det nollbaserade indexet för posten som ska tas bort.

Returer

CpioArchive

Arkivet med posten borttagen.

Exempel

using (var archive = new CpioArchive("two_files.cpio"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.cpio");
}

Undantag

ArgumentOutOfRangeException

entryIndex är mindre än 0.-eller- entryIndex är lika med eller större än Entries-antalet.

Dispose()

Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.

public void Dispose()

Dispose(bool)

Utför applikationsdefinierade uppgifter kopplade till att frigöra, släppa eller återställa icke-hanterade resurser.

protected virtual void Dispose(bool disposing)

Parametrar

disposing bool

Om hanterade resurser ska avyttras.

ExtractToDirectory(string)

Extraherar alla filer i arkivet till den angivna katalogen.

public void ExtractToDirectory(string destinationDirectory)

Parametrar

destinationDirectory string

Sökvägen till katalogen där de extraherade filerna ska placeras.

Exempel

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Anmärkningar

Om katalogen inte finns kommer den att skapas.

Undantag

ArgumentNullException

path är null

PathTooLongException

Den angivna sökvägen, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn mindre än 260 tecken.

SecurityException

Anroparen har inte den nödvändiga behörigheten för att få åtkomst till befintlig katalog.

NotSupportedException

Om katalogen inte finns, innehåller sökvägen ett kolontecken (:) som inte är en del av en enhetsetikett (“C:").

ArgumentException

path är en sträng med noll längd, innehåller endast vita tecken eller innehåller ett eller flera ogiltiga tecken. Du kan fråga efter ogiltiga tecken genom att använda metoden System.IO.Path.GetInvalidPathChars. -eller- path är prefixad med, eller innehåller, endast ett kolontecken (:).

IOException

Den angivna katalogen är en fil. -eller- Det nätverksnamnet är inte känt.

Save(string, CpioFormat)

Sparar arkivet till den angivna destinationsfilen.

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

destinationFileName string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (var archive = new CpioArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.cpio");
}

Anmärkningar

Det är möjligt att spara ett arkiv till samma sökväg som det laddades från. Men detta rekommenderas inte eftersom detta tillvägagångssätt använder kopiering till en tillfällig fil.

Undantag

ArgumentException

destinationFileName är en sträng med noll längd, innehåller endast vita tecken eller innehåller ett eller flera ogiltiga tecken som definieras av System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName är null.

PathTooLongException

Den angivna destinationFileName, filnamnet eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn mindre än 260 tecken.

DirectoryNotFoundException

Den angivna destinationFileName är ogiltig, (till exempel, det ligger på en icke-mappad enhet).

IOException

Ett I/O-fel inträffade när filen öppnades.

UnauthorizedAccessException

destinationFileName angav en fil som är skrivskyddad och åtkomst är inte läsbar.-eller- sökvägen angav en katalog.-eller- Anroparen har inte den nödvändiga behörigheten.

NotSupportedException

destinationFileName är i ett ogiltigt format.

Save(Stream, CpioFormat)

Sparar arkivet till den angivna strömmen.

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar. - eller - output är samma ström som vi extraherar från. - ELLER - Det är omöjligt att spara arkivet i cpioFormat på grund av formatbegränsningar.

SaveGzipped(Stream, CpioFormat)

Sparar arkivet till strömmen med gzip-komprimering.

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar.

SaveGzipped(string, CpioFormat)

Sparar arkivet till filen efter sökväg med gzip-komprimering.

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

SaveLZMACompressed(Stream, CpioFormat)

Sparar arkivet till strömmen med LZMA-komprimering.

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Viktigt: cpio-arkivet komponerades och komprimerades sedan inom denna metod, dess innehåll hålls internt. Var försiktig med minnesanvändning.

SaveLZMACompressed(string, CpioFormat)

Sparar arkivet till filen efter sökväg med lzma-komprimering.

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

Anmärkningar

Viktigt: cpio-arkivet komponerades och komprimerades sedan inom denna metod, dess innehåll hålls internt. Var försiktig med minnesanvändning.

SaveLzipped(Stream, CpioFormat)

Sparar arkivet till strömmen med lzip-komprimering.

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar.

SaveLzipped(string, CpioFormat)

Sparar arkivet till filen efter sökväg med lzip-komprimering.

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)

Sparar arkivet till strömmen med xz-komprimering.

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

settings XzArchiveSettings

Inställningar för xz-arkivet: ordboksstorlek, blockstorlek, kontrolltyp.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Sparar arkivet till sökvägen med xz-komprimering.

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

settings XzArchiveSettings

Inställningar för xz-arkivet: ordboksstorlek, blockstorlek, kontrolltyp.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZCompressed(Stream, CpioFormat)

Sparar arkivet till strömmen med Z-komprimering.

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar.

SaveZCompressed(string, CpioFormat)

Sparar arkivet till sökvägen med Z-komprimering.

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Stream, CpioFormat)

Sparar arkivet till strömmen med Zstandard-komprimering.

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

output Stream

Destinationström.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

Anmärkningar

output måste vara skrivbar.

Undantag

ArgumentNullException

output är null.

ArgumentException

output är inte skrivbar.

SaveZstandard(string, CpioFormat)

Sparar arkivet till filen efter sökväg med Zstandard-komprimering.

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parametrar

path string

Sökvägen till arkivet som ska skapas. Om det angivna filnamnet pekar på en befintlig fil kommer den att skrivas över.

cpioFormat CpioFormat

Definierar cpio-huvudformatet.

Exempel

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 Svenska