Class RarArchiveEntry
Namespace: Aspose.Zip.Rar
Assembly: Aspose.Zip.dll (25.1.0)
מייצג קובץ בודד בתוך הארכיון.
public abstract class RarArchiveEntry : IArchiveFileEntry
ירושה
נגזר
RarArchiveEntryEncrypted, RarArchiveEntryPlain
מממש
חברים מורשים
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
הערות
המירו מופע של Aspose.Zip.Rar.RarArchiveEntry ל-Aspose.Zip.Rar.RarArchiveEntryEncrypted כדי לקבוע אם הפריט מוצפן או לא.
מאפיינים
CompressedSize
מקבל את גודל הקובץ המכווץ.
public ulong CompressedSize { get; }
ערך המאפיין
CreationTime
מקבל את תאריך ושעת היצירה.
public DateTime CreationTime { get; }
ערך המאפיין
IsDirectory
מקבל ערך המצביע האם הפריט מייצג תיקייה.
public bool IsDirectory { get; }
ערך המאפיין
LastAccessTime
מקבל את תאריך ושעת הגישה האחרונה.
public DateTime LastAccessTime { get; }
ערך המאפיין
ModificationTime
מקבל את תאריך ושעת השינוי האחרונים.
public DateTime ModificationTime { get; }
ערך המאפיין
Name
מקבל את שם הפריט בתוך הארכיון.
public string Name { get; }
ערך המאפיין
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
סיסמה אופציונלית לפענוח.
מחזיר
מידע על הקובץ שהורכב.
דוגמאות
מוציאים שני פריטים מארכיון rar.
using (FileStream rarFile = File.Open("archive.rar", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract("first.bin", "pass");
archive.Entries[1].Extract("second.bin", "pass");
}
}
חריגות
path
הוא null.
לקרוא אין את ההרשאה הנדרשת לגישה.
הpath
ריק, מכיל רק רווחים או מכיל תווים לא תקינים.
גישה לקובץ path
נדחתה.
הpath
שניתן, שם הקובץ או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המחרוזת.
הקובץ לא נמצא.
הנתיב שניתן אינו תקף, כגון שהוא נמצא בכונן שאינו ממופה.
הקובץ כבר פתוח.
הנתונים פגומים. -או- אימות CRC או MAC נכשל עבור הפריט.
Extract(Stream, string)
מוציא את הפריט לזרם שניתן.
public void Extract(Stream destination, string password = null)
פרמטרים
destination
Stream
זרם היעד. חייב להיות ניתן לכתיבה.
password
string
סיסמה אופציונלית לפענוח.
דוגמאות
מוציאים פריט מארכיון rar עם סיסמה.
using (FileStream rarFile = File.Open("archive.zip", FileMode.Open))
{
using (RarArchive archive = new RarArchive(rarFile))
{
archive.Entries[0].Extract(httpResponseStream, "p@s$");
}
}
חריגות
אימות CRC או MAC נכשל עבור הפריט.
destination
אינו תומך בכתיבה.
הנתונים פגומים. -או- אימות CRC או MAC נכשל עבור הפריט.
Open(string)
פותח את הפריט להוצאה ומספק זרם עם תוכן הפריט המפורק.
public Stream Open(string password = null)
פרמטרים
password
string
סיסמה אופציונלית לפענוח. ניתן גם להגדיר זאת בתוך Aspose.Zip.Rar.RarArchiveLoadOptions.DecryptionPassword.
מחזיר
הזרם המייצג את תוכן הפריט.
דוגמאות
שימוש:
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>
#### הערות
<p>קראו מהזרם כדי לקבל את תוכן הקובץ המקורי. ראה את סעיף הדוגמאות.</p>
### <a id="Aspose_Zip_Rar_RarArchiveEntry_ExtractionProgressed"></a> ExtractionProgressed
מתרחש כאשר חלק מזרם גולמי הוצא.
```csharp
public event EventHandler<progresseventargs> ExtractionProgressed
סוג אירוע
EventHandler<ProgressEventArgs>
דוגמאות
archive.Entries[0].ExtractionProgressed += (s, e) => { int percent = (int)((100 * e.ProceededBytes) / ((RarArchiveEntry)s).UncompressedSize); };
הערות
שולח האירוע הוא מופע של Aspose.Zip.Rar.RarArchiveEntry.