Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
Denna klass representerar en shar-arkivfil.
public class SharArchive : IDisposable
Arv
Implementerar
Ä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
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 fil path
nekas.
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.
Fil på path
innehåller ett kolon (:) mitt i strängen.
Fil hittades inte.
Den angivna sökvägen är ogiltig, såsom att vara på en icke-kartlagd enhet.
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>
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
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
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 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.
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
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
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 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
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
name
är null.
name
är tom.
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
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
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 - Filnamn, som en del av name
, överskrider 100 tecken.
Åtkomst till fil sourcePath
nekas.
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.
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
Shar-posterinstans.
Exempel
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Undantag
name
är null.
source
är null.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Undantag
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
Arkivet med posten borttagen.
Exempel
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Undantag
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
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.
destinationFileName
är null.
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.
Den angivna destinationFileName
är ogiltig, (till exempel, det är på en icke-kartlagd enhet).
Ett I/O-fel inträffade när filen öppnades.
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.
destinationFileName
är i ett ogiltigt format.
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
output
är null.
output
är inte skrivbar. - eller - output
är samma ström som vi extraherar från.