
Murdock1
Ambitioniertes Mitglied
- 7
Hi,
ich versuche gerade mit DataInputStream.readInt() eine 32bit Integer auszulesen, bekomme aber nicht den Wert den ich möchte. Es sollte 2000({0xD0, 0x7, 0x0, 0x0}) rauskommen, kommt aber -804847616. Wie geht das richtig?
ich versuche gerade mit DataInputStream.readInt() eine 32bit Integer auszulesen, bekomme aber nicht den Wert den ich möchte. Es sollte 2000({0xD0, 0x7, 0x0, 0x0}) rauskommen, kommt aber -804847616. Wie geht das richtig?
Code:
public String GetVersionString(String filepath, int headerPosition){
File file = new File(filepath);
byte[] bytes = new byte[8];
BufferedInputStream buf;
try {
buf = new BufferedInputStream(new FileInputStream(file));
DataInputStream dat = new DataInputStream(buf);
dat.skip(headerPosition);
dat.read(bytes);
Log.i("app", "preamble:: " + new String(bytes, "UTF-8"));
int x = dat.readInt();
Log.i("app", "version:: " + String.valueOf(x));
dat.close();
buf.close();
return String.valueOf(x);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "";
}