У меня есть двоичный файл, созданный из программы, созданной в Visual Basic 5.0. Файл просто содержит набор Long
значений из мира Visual Basic. Я понял, что Long
в Visual Basic 5.0 имеет размер 4 байта, но я не знаю порядок байтов.
Я попытался выполнить синтаксический анализ файла с помощью DataInputStream, используя различные методы «чтения», но, похоже, я получил «неправильные» (т.е. отрицательные) значения.
Как я могу прочитать это и правильно интерпретировать с помощью Java? Каков порядок байтов для Long в Visual Basic 5.0?
Ниже приведен код, с которым я пытаюсь работать; Я пытаюсь прочитать 2 Long
s и распечатать на экране, а затем прочитать еще 2 и т. Д.
try {
File dbFile = new File(dbFolder + fileINA);
FileInputStream fINA = new FileInputStream(dbFile);
dINA = new DataInputStream(fINA);
long counter = 0;
while (true) {
Integer firstAddress = dINA.readInt();
Integer lastAddress = dINA.readInt();
System.out.println(counter++ + ": " + firstAddress + " " + lastAddress);
}
}
catch(IOException e) {
System.out.println ( "IO Exception =: " + e );
}