Class CpioArchive
Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)
Denna klass representerar cpio-arkivfil.
public class CpioArchive : IArchive, IDisposable
Arv
Implementerar
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
sourceStream
är null.
sourceStream
är inte sökbar.
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
path
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
path
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken.
Åtkomst till filen path
nekas.
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.
Fil på path
innehåller ett kolon (:) i mitten av strängen.
Filens hittas inte.
Den angivna sökvägen är ogiltig, till exempel om den ligger på en icke-mappad enhet.
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>
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
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
sourceDirectory
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst till sourceDirectory
.
sourceDirectory
innehåller ogiltiga tecken som “, <, > eller |.
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.
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
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
directory
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst till directory
.
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
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
name
är null.
name
är tom.
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
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
sourcePath
är null.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst.
sourcePath
är tom, innehåller endast vita tecken eller innehåller ogiltiga tecken. - eller - Filnamnet, som en del av name
, överskrider 100 symboler.
Åtkomst till filen sourcePath
nekas.
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.
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
Instans av Cpio-post.
Exempel
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
Undantag
name
är null.
source
är null.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Undantag
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
Arkivet med posten borttagen.
Exempel
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
Undantag
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
path är null
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.
Anroparen har inte den nödvändiga behörigheten för att få åtkomst till befintlig katalog.
Om katalogen inte finns, innehåller sökvägen ett kolontecken (:) som inte är en del av en enhetsetikett (“C:").
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 (:).
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
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.
destinationFileName
är null.
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.
Den angivna destinationFileName
är ogiltig, (till exempel, det ligger på en icke-mappad enhet).
Ett I/O-fel inträffade när filen öppnades.
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.
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
output
är null.
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
output
är null.
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.
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
output
är null.
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
output
är null.
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
output
är null.
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
output
är null.
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");
}
}