Class SharArchive

Class SharArchive

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

Denna klass representerar en shar-arkivfil.

public class SharArchive : IDisposable

Arv

objectSharArchive

Implementerar

IDisposable

Ärvt Medlemmar

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

Konstruktörer

SharArchive()

Initialiserar en ny instans av Aspose.Zip.Shar.SharArchive-klassen.

public SharArchive()

Exempel

Följande exempel visar hur man komprimerar en fil.

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

SharArchive(string)

Initialiserar en ny instans av Aspose.Zip.Shar.SharArchive-klassen förberedd för dekomprimering.

public SharArchive(string path)

Parametrar

path string

Sökväg till källan för arkivet.

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 fil path nekas.

PathTooLongException

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

NotSupportedException

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

FileNotFoundException

Fil hittades inte.

DirectoryNotFoundException

Den angivna sökvägen är ogiltig, såsom att vara på en icke-kartlagd enhet.

IOException

Fil är redan öppen.

Egenskaper

Entries

Hämtar poster av Aspose.Zip.Shar.SharEntry-typ som utgör arkivet.

public ReadOnlyCollection<sharentry> Entries { get; }

Egenskapsvärde

ReadOnlyCollection<SharEntry&gt;

Metoder

CreateEntries(string, bool)

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

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

Parametrar

sourceDirectory string

Katalog att komprimera.

includeRootDirectory bool

Anger om rotkatalogen själv ska inkluderas eller inte.

Returer

SharArchive

Shar-posterinstans.

Exempel

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

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 systemets definierade maximala längd. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara 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 SharArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parametrar

directory DirectoryInfo

Katalog att komprimera.

includeRootDirectory bool

Anger om rotkatalogen själv ska inkluderas eller inte.

Returer

SharArchive

Shar-posterinstans.

Exempel

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

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 SharEntry 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

SharEntry

Shar-posterinstans.

Exempel

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

Anmärkningar

Om filen öppnas omedelbart med openImmediately parameter 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 SharEntry 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

SharEntry

Shar-posterinstans.

Exempel

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

Anmärkningar

Postnamnet sätts enbart inom name parameter. Filnamnet som anges i sourcePath parameter påverkar inte postnamnet.

Om filen öppnas omedelbart med openImmediately parameter 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 - Filnamn, som en del av name, överskrider 100 tecken.

UnauthorizedAccessException

Åtkomst till fil sourcePath nekas.

PathTooLongException

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

NotSupportedException

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

CreateEntry(string, Stream)

Skapa en enskild post inom arkivet.

public SharEntry CreateEntry(string name, Stream source)

Parametrar

name string

Namnet på posten.

source Stream

Inmatningsströmmen för posten.

Returer

SharEntry

Shar-posterinstans.

Exempel

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

Undantag

ArgumentNullException

name är null.

ArgumentNullException

source är null.

ArgumentException

name är tom.

DeleteEntry(SharEntry)

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

public SharArchive DeleteEntry(SharEntry entry)

Parametrar

entry SharEntry

Posten som ska tas bort från listan över poster.

Returer

SharArchive

Shar-posterinstans.

Exempel

Här är hur du kan ta bort alla poster förutom den sista:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Undantag

ArgumentNullException

entry är null.

DeleteEntry(int)

Tar bort posten från listan över poster med index.

public SharArchive DeleteEntry(int entryIndex)

Parametrar

entryIndex int

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

Returer

SharArchive

Arkivet med posten borttagen.

Exempel

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

Undantag

ArgumentOutOfRangeException

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

Dispose(bool)

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

protected virtual void Dispose(bool disposing)

Parametrar

disposing bool

Om hanterade resurser ska avyttras.

Dispose()

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

public void Dispose()

Save(string)

Sparar arkivet till den angivna destinationsfilen.

public void Save(string destinationFileName)

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.

Exempel

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

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 denna metod använder kopiering till en tillfällig fil.

Undantag

ArgumentException

destinationFileName är en noll-längdssträng, 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 systemets definierade maximala längd. Till exempel, på Windows-baserade plattformar, måste sökvägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.

DirectoryNotFoundException

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

IOException

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

UnauthorizedAccessException

destinationFileName angav en fil som är skrivskyddad och åtkomst inte är 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.

FileNotFoundException

Fil hittades inte.

Save(Stream)

Sparar arkivet till den angivna strömmen.

public void Save(Stream output)

Parametrar

output Stream

Destinationström.

Exempel

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

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.

 Svenska