Parsowanie plików md2

0

Witam

Mam problem z parsowaniem plików md2 i potrzebuję pomocy :( . Postaram się jak najlepiej przedstawić istotę problemu, na przykładzie samego tylko nagłówka:

Zacznę od tego, że parsowanie tych plików zrobiłem już kiedyś w C++, teraz jednak MUSZĘ to zrobić w Javie. Nagłówek *.md2 składa się z następujących po sobie wartosci typu int. W C++ robiłem to tak, że zczytywałem z pliku poszczególne wartości jako int i wszystko ładnie działało. Okazuje sie, że Java ma z tym problem, bo wartości przez nią czytane są błędne :/ .

Przykład:
Wartości dwóch pierwszych liczb w pliku są powszechnie znane: pierwsza to po zamianie na łańcuch znaków "IDP2", druga to numer wersji md2 - w tym przypadku 8. Po czytaniu z pliku bajt po bajcie wszystko się zgadza, tzn. otrzymuję najpierw 4 wartości, które odpowiadają kodom ASCII tworząc ciąg "IDP2", następne 4 dają ósemkę. Szkoda tylko, że gdy do zczytania użyję metody readInt() dostaję w efekcie śmieci. Wszystkie dane o współrzędnych punktów modelu i pozostałe są nieprawdziwe :( .

Proszę o ratunek ;( . Podejrzewam, że problem wynika z tego, że Java inaczej interpretuje typ int niż C++. Pewności jednak nie mam.

Pozdrawiam
Diter

0

Może zamiast używać readInt(), lepiej byłoby czytać surowe bajty a potem to konwertować na inta... Java pisze liczby po swojemu, mają one czasem inne rozmiary niż w C++... Jak rozmiary inta się różnią to i zaczynanie od bajtów chyba nie pomoże [sciana]

Pozdrawiam,
Sylwester.

0

Java i C++ czytają po 4 bajty. Kombinowałem już w ten sposób i nic z tego nie wyszło :/, tzn. dalej powstają śmieci.

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