Читать бинарный файл на Java - PullRequest
0 голосов
/ 29 марта 2011

У меня есть Java-программа, которая хранит байтовый массив длиной 128 байтов в поле MySQL «BINARY (128)».

Затем с помощью PHP я получаю доступ к базе данных и даю возможность экспортировать эти данные в файл, поэтому я распаковываю () двоичные данные и записываю их в файл.

Этот файл должен быть прочитан в Java-программе, которую я пишу, но я не могу найти, как мне читать эти данные. Любое предложение?

Я пытался с:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
int i = 0;
while (i < 128) {
  System.out.println(baos.read());
  i++;
}

Но bis.read () возвращает int, и байтовый массив, который я отправил в базу данных mysql, был строкой: "text" .getBytes ("utf-8");

Спасибо,

Ответы [ 3 ]

1 голос
/ 29 марта 2011

Вы пробовали с потоками данных ?

1 голос
/ 29 марта 2011

Объединить ответы @Ricardo и @ MarcoS

 DataInputStream dis = new DataInputStream(new FileInputStream("my-data-file.dat"));
 try {
     byte[] bytes = new byte[128];
     dis.readFully(bytes);
     // read some more.

 } finally {
     try {
        dis.close();
     } catch(IOException ignored) { }
 }
1 голос
/ 29 марта 2011

Почему вы не используете FileInputStream?(http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html)

Метод read () читает байт, но возвращает int.

...