Przegląd
CfbReader jest niskopoziomowym parserem tylko do odczytu dla plików Compound File Binary. Utwórz go za pomocą FromFile lub FromStream, a następnie przeglądaj drzewo katalogów przy użyciu IterStorages, IterStreams, IterChildren i FindChildByName. Użyj GetStreamData do odczytania surowych bajtów z nazwanej strumienia. Implementuje IDisposable; zawsze używaj go wewnątrz bloku using, aby zwolnić uchwyty plików.
Konstruktory
| Sygnatura | Opis |
|---|
CfbReader(data: byte[]) | Tworzy nowy CfbReader z określonymi parametrami. |
Metody
| Sygnatura | Opis |
|---|
FromFile(path: string) | Otwiera plik CFB w path i zwraca nowy CfbReader. |
FromStream(stream: Stream) | Odczytuje plik CFB z stream i zwraca nowy CfbReader. |
Dispose() | Zwalnia wszelkie uchwyty plików lub strumienie trzymane przez tego czytnika. |
GetEntry(streamId: uint) | Zwraca DirectoryEntry dla podanego streamId. |
GetStreamData(streamId: uint) | Zwraca surową zawartość bajtową strumienia zidentyfikowanego przez streamId. |
IterStorages() | Zwraca wszystkie wpisy katalogu typu storage w kolejności drzewa. |
IterStreams() | Zwraca wszystkie wpisy katalogu typu stream w kolejności drzewa. |
IterChildren(storageStreamId: uint) | Zwraca bezpośrednie wpisy podrzędne magazynu zidentyfikowanego przez storageStreamId. |
IterTree(startStreamId: uint) | Zwraca wszystkie wpisy w poddrzewie z korzeniem w startStreamId (przegląd w głąb). |
FindChildByName(storageStreamId: uint, name: string) | Zwraca identyfikator strumienia bezpośredniego dziecka storageStreamId, którego nazwa równa się name, lub null, jeśli nie zostanie znalezione. |
ResolvePath(names: IEnumerable<string>, startStreamId: uint) | Przechodzi ciąg names zaczynając od startStreamId i zwraca identyfikator strumienia ostatniego wpisu. |
Właściwości
| Nazwa | Typ | Dostęp | Opis |
|---|
Header | Header | Odczyt | Parsowany nagłówek pliku CFB; udostępnia pola rozmiaru sektora. |
Difat | ReadOnlyCollection<uint> | Odczyt | Widok tylko do odczytu łańcucha sektorów DIFAT. |
Fat | ReadOnlyCollection<uint> | Odczyt | Widok tylko do odczytu łańcucha sektorów FAT (file allocation table). |
MiniFat | ReadOnlyCollection<uint> | Odczyt | Widok tylko do odczytu łańcucha sektorów FAT (file allocation table). |
DirectoryEntries | ReadOnlyCollection<DirectoryEntry> | Odczyt | Wszystkie 128-bajtowe wpisy katalogu odczytane z sektorów katalogu, w surowej kolejności. |
RootEntry | DirectoryEntry | Odczyt | Wpis katalogu głównego (ID strumienia 0). |
MiniStream | byte[] | Odczyt | Surowe bajty kontenera mini-strumienia (strumień danych wpisu głównego). |
MajorVersion | int | Odczyt | Główna wersja CFB parsowana z nagłówka pliku. |
SectorSize | int | Odczyt | Rozmiar sektora w bajtach (512 dla v3, 4096 dla v4). |
MiniSectorSize | int | Odczyt | Rozmiar sektora w bajtach (512 dla v3, 4096 dla v4). |
DirectoryEntryCount | int | Odczyt | Łączna liczba rekordów wpisów katalogu w sektorach katalogu. |
MaterializedStreamCount | int | Odczyt | Liczba strumieni z niepustymi danymi w przetworzonym dokumencie. |
FileSize | int | Odczyt | Całkowity rozmiar pliku źródłowego lub strumienia w bajtach. |
Zobacz także