Class SevenZipArchiveEntry
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
מייצג קובץ בודד בתוך ארכיון 7z.
public abstract class SevenZipArchiveEntry : IArchiveFileEntry
ירושה
נגזר
SevenZipArchiveEntryEncrypted, SevenZipArchiveEntryPlain
מממש
חברים מורשים
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
הערות
המרה של מופע Aspose.Zip.SevenZip.SevenZipArchiveEntry ל-Aspose.Zip.SevenZip.SevenZipArchiveEntryEncrypted כדי לקבוע אם הרשומה מוצפנת או לא.
בונים
SevenZipArchiveEntry(SevenZipArchive, string, SevenZipCompressionSettings, Stream, FileAttributes, FileSystemInfo)
מאתחל מופע חדש של מחלקת Aspose.Zip.SevenZip.SevenZipArchiveEntry.
protected SevenZipArchiveEntry(SevenZipArchive parent, string name, SevenZipCompressionSettings compressionSettings, Stream source, FileAttributes fileAttributes, FileSystemInfo fileInfo = null)
פרמטרים
parent
SevenZipArchive
name
string
שם הרשומה.
compressionSettings
SevenZipCompressionSettings
הגדרות לדחיסה או לפריקה.
source
Stream
זרם עם נתוני הרשומה שצריך לדחוס או לפרוק.
fileAttributes
FileAttributes
מאפיינים ממערכת הקבצים.
fileInfo
FileSystemInfo
מידע על קובץ או תיקיה שעל בסיסם הרשומה.
חריגות
הname
הוא null או ריק.
מאפיינים
CompressedSize
מקבל את גודל הקובץ הדחוס.
public ulong CompressedSize { get; }
ערך המאפיין
CompressionSettings
מקבל את ההגדרות לדחיסה או לפריקה.
public SevenZipCompressionSettings CompressionSettings { get; }
ערך המאפיין
FileAttributes
מקבל את מאפייני הקובץ ממערכת המארח.
protected FileAttributes FileAttributes { get; }
ערך המאפיין
IsDirectory
מקבל ערך המצביע האם הרשומה מייצגת תיקיה.
public bool IsDirectory { get; }
ערך המאפיין
ModificationTime
מקבל את תאריך ושעת השינוי האחרון.
public DateTime ModificationTime { get; }
ערך המאפיין
Name
מקבל את שם הרשומה בתוך הארכיון.
public string Name { get; protected set; }
ערך המאפיין
Source
מקבל את זרם מקור הנתונים עבור הרשומה.
protected Stream Source { get; set; }
ערך המאפיין
UncompressedSize
מקבל את גודל הקובץ המקורי.
public ulong UncompressedSize { get; }
ערך המאפיין
שיטות
Extract(string, string)
מוציא את הרשומה למערכת הקבצים לפי הנתיב שסופק.
public FileInfo Extract(string path, string password = null)
פרמטרים
path
string
הנתיב לקובץ היעד. אם הקובץ כבר קיים, הוא יוחלף.
password
string
סיסמה אופציונלית לפענוח.
מחזיר
מידע על הקובץ המורכב.
דוגמאות
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract("data.bin");
}
חריגות
path
הוא null.
לקרוא אין את ההרשאות הנדרשות לגישה.
הpath
הוא ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.
הגישה לקובץ path
נדחתה.
הpath
, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המחרוזת.
הארכיון פגום.
Extract(Stream, string)
מוציא את הרשומה לזרם שסופק.
public void Extract(Stream destination, string password = null)
פרמטרים
destination
Stream
זרם היעד. חייב להיות ניתן לכתיבה.
password
string
סיסמה אופציונלית לפענוח.
דוגמאות
מוציאים רשומה מארכיון zip עם סיסמה.
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.Entries[0].Extract(httpResponseStream);
}
חריגות
destination
אינו תומך בכתיבה.
הארכיון לא נפתח להוצאה. - או - הרשומה הזו היא תיקיה.
נתונים שגויים בתוך הרשומה.
FinalizeCompressedData(Stream, byte[])
כותב לזרם הפלט כל כותרות העוקבות אחרי נתוני הדחיסה.
protected abstract int FinalizeCompressedData(Stream outputStream, byte[] encoderProperties)
פרמטרים
outputStream
Stream
זרם הפלט עבור הרשומה.
encoderProperties
byte[]
מאפיינים של המדחס.
מחזיר
מספר הבתים “הטכניים” שנוספו לאחר בלוק הנתונים המשמעותיים של הרשומה.
GetDestinationStream(Stream)
זרם היעד עבור הרשומה, עשוי להיות מעוטר.
protected abstract Stream GetDestinationStream(Stream outputStream)
פרמטרים
outputStream
Stream
זרם הפלט עבור הרשומה.
מחזיר
זרם היעד לדחיסת הרשומה.
Open(string)
פותח את הרשומה להוצאה ומספק זרם עם תוכן הרשומה.
public Stream Open(string password = null)
פרמטרים
password
string
סיסמה אופציונלית לפענוח.
מחזיר
הזרם המייצג את תוכן הרשומה.
דוגמאות
שימוש:
Stream decompressed = entry.Open();
.NET 4.0 ומעלה - השתמש בשיטת Stream.CopyTo:
decompressed.CopyTo(httpResponse.OutputStream)
.NET 3.5 ולפני - העתק בתים ידנית:
byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
fileStream.Write(buffer, 0, bytesRead);
```</p>
#### הערות
קרא מהזרם כדי לקבל את התוכן המקורי של הקובץ. ראה את סעיף הדוגמאות.
#### חריגות
[InvalidOperationException](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception)
הארכיון לא נפתח להוצאה. - או - הרשומה הזו היא תיקיה.
[InvalidDataException](https://learn.microsoft.com/dotnet/api/system.io.invaliddataexception)
נתונים שגויים בתוך הרשומה.
### <a id="Aspose_Zip_SevenZip_SevenZipArchiveEntry_CompressionProgressed"></a> CompressionProgressed
מתרחש כאשר חלק מנתוני הזרם הגולמיים דחוסים.
```csharp
public event EventHandler<progresseventargs> CompressionProgressed
סוג אירוע
EventHandler<ProgressEventArgs>
דוגמאות
archive.Entries[0].CompressionProgressed += (s, e) => { int percent = (int)((100 * (long)e.ProceededBytes) / entrySourceStream.Length); };
הערות
שולח האירוע הוא מופע של Aspose.Zip.SevenZip.SevenZipArchiveEntry.
לא מתרחש במצב רב-חוטי עבור רשומות LZMA2.