In java wirst du um das einzelen einlesen der Komponenten nicht herumkommen. Ich weiß zwar nicht ob du in deinem java Beispielcode char nur als Platzhalter verwendet hast, aber du solltest dir im klaren sein, dass ein char in java 16 bit groß ist und zum Speichern von Uicode-Zeichen gedacht ist (short ist auch 16 bit groß).
Zudem ist der von dir gezeigte C++ Code nicht sicher, da er Probleme wie Endianness und Padding seitens des Kompilers ignoriert.
Die IO-Problematik ist in Java über etliche Klassen der Standard-Bibliothek verstreut. Einen guten Einstieg bieten die offiziellen
Java-Tutorials.
Wenn du aber einfach nur Bilder einlesen willst (was ich anhand deines Beispiels vermute) kannst du in Java einfacher vorgehen. Allerdings werden so weit ich weiß nur die Formate GIF, PNG, JPEG, BMP, und WBMP untersützt.
|
Java-Quelltext
|
1
2
3
4
5
6
7
|
BufferedImage image = null;
try {
// Der Dateityp wird anhande der Datei-Endung erkannt
img = ImageIO.read(new File("cool_sprite.png"));
} catch (IOException e) {
System.err.println("Sprite konnte nicht geladen werden!");
}
|
@Tobiking
Reflections und Serialisierung sind hier der falsche Ansatz.