Wczytywanie pliku - nagłówek

0

Mój program ma wczytywać jedynie dokumenty, stąd też chcę ograniczyć się do wczytywania doc-ów i rtf-ów (ew. odt) na podstawie nagłówka. W jaki sposób mogę odczytać nagłówek i ew. zweryfikować jego poprawność?

0

Przeczytaj jaki jest magic number czy jakis szczegolny wzorzec w naglowku danego typu, policz ile to jest bajtow, wczytaj te bajty, porownaj ze wzorcem, jesli sie nie zgadza to znaczy ze nie jest to dany format.
Aby zaoszczedzic czasmi troche operacji na plikach mozesz sprawdzic ktory format ma najdluzszy wzorzec, wczytac tyle bajtow, a do sprawdzenia formatow o mniejszej liczbie bajtow we wzorcu uzyc tylko czesc wczytanej tablicy bajtow. W ten sposob otworzysz / wczytasz bajty danego pliku tylko raz.
Tak w ogole to ja uzywasz biblioteki do danego formatu plikow, to jak bedzie cos nie tak to i tak dostaniesz wyjatek ze to zly format, wiec moze nie warto sie samemu babrac?

0

new MimetypesFileTypeMap().getContentType(f) powinno zwrócić tym MIME pliku.

0

No tak tylko ze to jedynie sprawdza rozszerzenia pliku i porownuje z plikami zawierajacymi mappingi, nie sprawdza naglowkow.

0

W projekcie generalnie i tak potem tworzę sktót dokumentu (na podstawie całości treści, wraz z nagłówkiem). Dlatego też nie potrzebuję bezpośredniej obsługi danego formatu. Problemem jest jedynie ograniczenie formatów do pożądanych. I stąd też zależy mi na nagłówku (z racji, iż rozszerzenie łatwiej zmienić i nie wpłynie ono na skrót dokumentu, natomiast zmiana nagłówka- tak ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1