java - 用Java读取二进制文件

标签 java php binary unpack

我有一个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数据库的字节数组是一个字符串:“text”.getBytes(“utf-8”);

谢谢,

最佳答案

结合@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) { }
 }

关于java - 用Java读取二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5470812/

相关文章:

java - 仅当处理程序存在时命令才可见

java - DFS 位置不会在 Eclipse 中被删除

php - 复选框的表单模型绑定(bind)

php - 从 mysql 数据库填充下拉列表并且不重复值

java - 从使用 ObjectOutputStream 创建的文件中读取 PHP 中的 Java 对象

binary - Fortran:硬编码一些依赖于环境变量的代码

java - 碧 Jade 报告 : Purpose of the Details Band

java - 如何在回收站 View android中选择多个项目?

php - 使 CMS 可通过插件扩展 - 示例

Bash shell 十进制到二进制 base 2 转换