Class SharArchive

Class SharArchive

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

Questa classe rappresenta un file di archivio shar.

public class SharArchive : IDisposable

Ereditarietà

objectSharArchive

Implementa

IDisposable

Membri Ereditati

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

Costruttori

SharArchive()

Inizializza una nuova istanza della classe Aspose.Zip.Shar.SharArchive.

public SharArchive()

Esempi

Il seguente esempio mostra come comprimere un file.

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

SharArchive(string)

Inizializza una nuova istanza della classe Aspose.Zip.Shar.SharArchive preparata per la decompressione.

public SharArchive(string path)

Parametri

path string

Percorso della sorgente dell’archivio.

Eccezioni

ArgumentNullException

path è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il path è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.

UnauthorizedAccessException

Accesso al file path negato.

PathTooLongException

Il path specificato, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

NotSupportedException

Il file in path contiene due punti (:) nel mezzo della stringa.

FileNotFoundException

Il file non è stato trovato.

DirectoryNotFoundException

Il percorso specificato non è valido, ad esempio si trova su un’unità non mappata.

IOException

Il file è già aperto.

Proprietà

Entries

Ottiene le voci di tipo Aspose.Zip.Shar.SharEntry che costituiscono l’archivio.

public ReadOnlyCollection<sharentry> Entries { get; }

Valore della Proprietà

ReadOnlyCollection<SharEntry&gt;

Metodi

CreateEntries(string, bool)

Aggiunge all’archivio tutti i file e le directory ricorsivamente nella directory fornita.

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

Parametri

sourceDirectory string

Directory da comprimere.

includeRootDirectory bool

Indica se includere o meno la directory radice stessa.

Restituisce

SharArchive

Istanza di Shar entry.

Esempi

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

Eccezioni

ArgumentNullException

sourceDirectory è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere a sourceDirectory.

ArgumentException

sourceDirectory contiene caratteri non validi come “, <, >, o |.

PathTooLongException

Il percorso specificato, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri. Il percorso specificato, il nome del file, o entrambi sono troppo lunghi.

IOException

sourceDirectory rappresenta un file, non una directory.

CreateEntries(DirectoryInfo, bool)

Aggiunge all’archivio tutti i file e le directory ricorsivamente nella directory fornita.

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

Parametri

directory DirectoryInfo

Directory da comprimere.

includeRootDirectory bool

Indica se includere o meno la directory radice stessa.

Restituisce

SharArchive

Istanza di Shar entry.

Esempi

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

Eccezioni

ArgumentNullException

directory è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere a directory.

IOException

directory rappresenta un file, non una directory.

CreateEntry(string, FileInfo, bool)

Crea un’unica voce all’interno dell’archivio.

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

Parametri

name string

Il nome della voce.

fileInfo FileInfo

I metadati del file o della cartella da comprimere.

openImmediately bool

True se aprire il file immediatamente, altrimenti aprire il file al salvataggio dell’archivio.

Restituisce

SharEntry

Istanza di Shar entry.

Esempi

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

Osservazioni

Se il file viene aperto immediatamente con il parametro openImmediately, rimarrà bloccato fino a quando l'archivio non verrà eliminato.

Eccezioni

ArgumentNullException

name è nullo.

ArgumentException

name è vuoto.

ArgumentNullException

fileInfo è nullo.

CreateEntry(string, string, bool)

Crea un’unica voce all’interno dell’archivio.

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

Parametri

name string

Il nome della voce.

sourcePath string

Percorso del file da comprimere.

openImmediately bool

True se aprire il file immediatamente, altrimenti aprire il file al salvataggio dell’archivio.

Restituisce

SharEntry

Istanza di Shar entry.

Esempi

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

Osservazioni

Il nome della voce è impostato esclusivamente nel parametro name. Il nome del file fornito nel parametro sourcePath non influisce sul nome della voce.

Se il file viene aperto immediatamente con il parametro openImmediately, rimarrà bloccato fino a quando l'archivio non verrà eliminato.

Eccezioni

ArgumentNullException

sourcePath è nullo.

SecurityException

Il chiamante non ha il permesso richiesto per accedere.

ArgumentException

Il sourcePath è vuoto, contiene solo spazi bianchi o contiene caratteri non validi. - oppure - Il nome del file, come parte del name, supera i 100 simboli.

UnauthorizedAccessException

Accesso al file sourcePath negato.

PathTooLongException

Il sourcePath specificato, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri. - oppure - name è troppo lungo per shar.

NotSupportedException

Il file in sourcePath contiene due punti (:) nel mezzo della stringa.

CreateEntry(string, Stream)

Crea un’unica voce all’interno dell’archivio.

public SharEntry CreateEntry(string name, Stream source)

Parametri

name string

Il nome della voce.

source Stream

Il flusso di input per la voce.

Restituisce

SharEntry

Istanza di Shar entry.

Esempi

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

Eccezioni

ArgumentNullException

name è nullo.

ArgumentNullException

source è nullo.

ArgumentException

name è vuoto.

DeleteEntry(SharEntry)

Rimuove la prima occorrenza di una voce specifica dall’elenco delle voci.

public SharArchive DeleteEntry(SharEntry entry)

Parametri

entry SharEntry

La voce da rimuovere dall’elenco delle voci.

Restituisce

SharArchive

Istanza di Shar entry.

Esempi

Ecco come puoi rimuovere tutte le voci tranne l'ultima:

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

Eccezioni

ArgumentNullException

entry è nullo.

DeleteEntry(int)

Rimuove la voce dall’elenco delle voci per indice.

public SharArchive DeleteEntry(int entryIndex)

Parametri

entryIndex int

L’indice zero-based della voce da rimuovere.

Restituisce

SharArchive

L’archivio con la voce eliminata.

Esempi

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

Eccezioni

ArgumentOutOfRangeException

entryIndex è minore di 0.-oppure- entryIndex è uguale o maggiore di Entries count.

Dispose(bool)

Esegue attività definite dall’applicazione associate alla liberazione, rilascio o reimpostazione delle risorse non gestite.

protected virtual void Dispose(bool disposing)

Parametri

disposing bool

Se le risorse gestite devono essere eliminate.

Dispose()

Esegue attività definite dall’applicazione associate alla liberazione, rilascio o reimpostazione delle risorse non gestite.

public void Dispose()

Save(string)

Salva l’archivio nel file di destinazione fornito.

public void Save(string destinationFileName)

Parametri

destinationFileName string

Il percorso dell’archivio da creare. Se il nome del file specificato punta a un file esistente, verrà sovrascritto.

Esempi

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

Osservazioni

È possibile salvare un archivio nello stesso percorso da cui è stato caricato. Tuttavia, questo non è raccomandato perché questo approccio utilizza la copia in un file temporaneo.

Eccezioni

ArgumentException

destinationFileName è una stringa di lunghezza zero, contiene solo spazi bianchi o contiene uno o più caratteri non validi come definiti da System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName è nullo.

PathTooLongException

Il destinationFileName specificato, il nome del file, o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono essere inferiori a 248 caratteri e i nomi dei file devono essere inferiori a 260 caratteri.

DirectoryNotFoundException

Il destinationFileName specificato non è valido, (ad esempio, si trova su un’unità non mappata).

IOException

Si è verificato un errore di I/O durante l’apertura del file.

UnauthorizedAccessException

destinationFileName specifica un file che è di sola lettura e l’accesso non è in lettura.-oppure- il percorso specificato è una directory.-oppure- Il chiamante non ha il permesso richiesto.

NotSupportedException

destinationFileName è in un formato non valido.

FileNotFoundException

Il file non è stato trovato.

Save(Stream)

Salva l’archivio nel flusso fornito.

public void Save(Stream output)

Parametri

output Stream

Flusso di destinazione.

Esempi

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

Osservazioni

output deve essere scrivibile.

Eccezioni

ArgumentNullException

output è nullo.

ArgumentException

output non è scrivibile. - oppure - output è lo stesso flusso da cui estraiamo.

 Italiano