Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2022, 12:05   #1
ym66
 
Регистрация: 22.03.2015
Сообщений: 4
По умолчанию

Здравствуйте!
Читаю бинарный файл:

Код:
import java.io.File;
import java.nio.file.Paths;
import java.io.IOException;
import java.io.RandomAccessFile;

public class CheckFile {
    public static void main(String[] args) {
    	if (args.length==0)
    	{  
    		System.out.println("Usage: java CheckFile filename");
    		System.exit(0);
    	}
    	System.out.println("File- "+args[0]);
    	File file = new File(Paths.get("").toAbsolutePath()+"\"+args[0]);
    	System.out.println("File size- " + file.length());
    	try {
    		RandomAccessFile Raf = new RandomAccessFile(file, "r");
    		Raf.seek(2);
    		float _MC_U1= Raf.readFloat();
    		System.out.println(_MC_U1);
    		Raf.close();
    	} catch
    	(IOException e)
    	{
   	}
    }
}
По смещению 2 ожидается 1715.112183. Но читается 3.9042522E34. Почему? Помогите!

Это шестнадцатиричный образ файла:
Код:
0x01, 0x00, 0x97, 0x63, 0xD6, 0x44, 0x78, 0xF0, 0x9E, 0x3D, 0x10, 0x53, 0xA9, 0x48, 0x56, 0x34, 
0x85, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0x63, 0xD6, 0xC4, 0x78, 0xF0, 
0x9E, 0xBD, 0x10, 0x53, 0xA9, 0xC8, 0x41, 0x00, 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02, 0x02, 
0x88, 0x88, 0x08, 0x3D, 0x00, 0x00, 0xA0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x41, 
0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0xA0, 0x41, 0x00, 0x00, 0x80, 0x40, 0x00, 0x00, 0x98, 0x41, 
0x20, 0x03, 0xD8, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x20, 0x41, 
0x01, 0x0B, 0x00, 0x56, 0x56, 0x34, 0x85, 0xC1, 0x1F, 0x00, 0x04, 0x00, 0x14, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x31, 0xBC, 0x5D, 0x25, 0x00, 0x00, 0x00, 0x00

Последний раз редактировалось BDA; 16.10.2022 в 02:52.
ym66 вне форума Ответить с цитированием
Старый 15.10.2022, 17:12   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

https://en.wikipedia.org/wiki/Endianness
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переполнение кучи java.lang.OutOfMemoryError: Java heap space Karik_ Java Базы данных (JDBC, JPA, Hibernate) 4 09.03.2017 12:04
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59