Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как читать Integer из бинарного файла? / 4 сообщений из 4, страница 1 из 1
26.08.2013, 16:01:36
    #38377584
iMansur
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как читать Integer из бинарного файла?
Здравствуйте все! Я новичок в программировании на Java. Вопрос следующий: Есть бинарный файл, в котором много чисел типа Int. Я их специально записывал на Delphi что бы читать на Java. Теперь когда читаю с помощью readInt используя и RandomAccessFile и DataInputStream получается одно и тоже. Цифры что были на Delphi и те что получились после чтения на Java оказались разные. Друзья, если кто сталкивался с такой проблемой подскажите. Или я что то делаю не так? Я перерыл googl'ом все что можно. Спасибо большое.
...
Рейтинг: 0 / 0
26.08.2013, 16:16:22
    #38377597
zalexaka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как читать Integer из бинарного файла?
iMansur,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public static int readInt(InputStream source) throws IOException {
        byte[] buffer = new byte[4];
        int cnt = source.read(buffer, 0, 4);
        if (cnt < 4) throw new RuntimeException("Oops!!!");
        return (buffer[0] & 0xFF
                | (buffer[1] << 8) & 0xFF00
                | (buffer[2] << 16) & 0xFF0000
                | (buffer[3] << 24));
}
...
Рейтинг: 0 / 0
26.08.2013, 16:27:07
    #38377615
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как читать Integer из бинарного файла?
...
Рейтинг: 0 / 0
26.08.2013, 17:24:07
    #38377689
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как читать Integer из бинарного файла?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
package testdata;

import java.io.FileInputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import static java.nio.ByteOrder.*;
import java.nio.channels.FileChannel;

public class TestData {

    private static final String PATH = "D:\\file.dat";
    
    public static void main(String[] args) throws IOException {
        try (FileChannel channel = new FileInputStream(PATH).getChannel()) {
            ByteBuffer buffer = ByteBuffer.allocate(64 * 1024).order(LITTLE_ENDIAN);
            while (channel.read(buffer) > 0) {
                buffer.flip();
                while (buffer.hasRemaining()) {
                    System.out.println(buffer.getInt());
                }
            }
        }
    }
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как читать Integer из бинарного файла? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]