【问题标题】:Reading a Java Object in PHP from a file created with ObjectOutputStream从使用 ObjectOutputStream 创建的文件中读取 PHP 中的 Java 对象
【发布时间】:2011-04-26 14:16:41
【问题描述】:

我正在尝试读取在基于 Java 的游戏中使用 PHP 中的 ObjectOutputStream 创建的文件。数据是以二进制格式编写的序列化对象。

我一直在使用 fopen 和 fread 来获取二进制数据,但我完全不知道如何处理它。

【问题讨论】:

    标签: java php binary objectoutputstream


    【解决方案1】:

    PHP 不理解 Java。然而,两者都理解 JSON、XML、CSV 等常见格式。我建议将格式更改为其中任何一种格式,并将其用作数据传输格式。

    对于 JSON,您可以在 Java 中使用 Google Gson 将完全值得的 javabean 转换(编码)为 JSON 风格,在 PHP 中您可以使用 json_decode() 将其转换(解码)为关联的 PHP 数组。

    【讨论】:

      【解决方案2】:
      【解决方案3】:

      你不能这么容易做到(除非现有的框架可用)。这是因为 Java 序列化使用的二进制格式对 JVM 来说是高度专业化的,所以认为即使在不同的 JVM 版本之间也不能保证兼容性。

      您应该使用不同的方法,例如使用 XML、YAML 或 JSON..

      【讨论】:

      • 我遇到的问题是我尝试读取的文件不是由我个人创建的任何内容生成的。因此,除非我能说服创建这些文件的程序的作者切换到 XML,否则我会一直试图读取 Java 生成的文件。
      • 那你需要一个用Java编写的能够转换序列化对象的中间件,我认为没有其他人为的方式..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2021-11-06
      • 2021-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多