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à
Implementa
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
path
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
Il path
è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
Accesso al file path
negato.
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.
Il file in path
contiene due punti (:) nel mezzo della stringa.
Il file non è stato trovato.
Il percorso specificato non è valido, ad esempio si trova su un’unità non mappata.
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>
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
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
sourceDirectory
è nullo.
Il chiamante non ha il permesso richiesto per accedere a sourceDirectory
.
sourceDirectory
contiene caratteri non validi come “, <, >, o |.
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.
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
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
directory
è nullo.
Il chiamante non ha il permesso richiesto per accedere a directory
.
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
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
name
è nullo.
name
è vuoto.
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
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
sourcePath
è nullo.
Il chiamante non ha il permesso richiesto per accedere.
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.
Accesso al file sourcePath
negato.
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.
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
Istanza di Shar entry.
Esempi
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Eccezioni
name
è nullo.
source
è nullo.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Eccezioni
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
L’archivio con la voce eliminata.
Esempi
using (var archive = new SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Eccezioni
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
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.
destinationFileName
è nullo.
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.
Il destinationFileName
specificato non è valido, (ad esempio, si trova su un’unità non mappata).
Si è verificato un errore di I/O durante l’apertura del file.
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.
destinationFileName
è in un formato non valido.
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
output
è nullo.
output
non è scrivibile. - oppure - output
è lo stesso flusso da cui estraiamo.