0

我有一个 java 程序,它在 MySQL“BINARY (128)”字段中存储一个 128 字节长度的字节数组。

然后,我使用 PHP 访问数据库并选择将这些数据导出到文件中,因此我 unpack() 二进制数据,并将其写入文件中。

然后,必须在我正在编写的 Java 程序中读取这个文件,但我找不到如何读取这些数据。有什么建议吗?

我试过:

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

但是 bis.read() 返回一个 int,而我发送到 mysql db 的字节数组是一个字符串:"text".getBytes("utf-8");

谢谢,

4

3 回答 3

1

结合@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) { }
 }
于 2011-03-29T10:14:25.773 回答
1

为什么不使用 FileInputStream?(http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileInputStream.html)

read() 方法读取一个字节,尽管它返回一个 int。

于 2011-03-29T10:07:52.427 回答
1

您是否尝试过数据流

于 2011-03-29T10:09:08.973 回答