【问题标题】:Why can't I read a JSON file with a different program while my Processing sketch is still open?为什么我的处理草图仍然打开时,我不能用不同的程序读取 JSON 文件?
【发布时间】:2015-08-23 13:44:30
【问题描述】:

我正在使用 saveJSONObject 命令将数据写入处理中的 JSON 文件。我想在我的草图仍然打开时使用另一个程序 (MAX/MSP) 访问该 JSON 文件。问题是,当我的草图运行时,MAX 无法读取文件。只有在我关闭草图后,MAX 才能从我的文件中导入数据。

在草图运行时,Processing 是否以某种方式保持该文件打开?有什么办法可以解决这个问题?

【问题讨论】:

  • 在哪个操作系统上?提供更多详细信息(还有一些代码)以便编辑您的问题

标签: json processing


【解决方案1】:

使用 OSC 协议将数据直接流式传输到 MaxMSP 可能更容易。在处理端,查看oscP5 library 和在最大端的udpreceive 对象。

您可以将 JSON 对象作为字符串发送并在 Max 中解压缩(可能使用 Max 中已经存在的 JavaScript 支持),但将 JSON 对象的结构模拟为 OSC 消息对象的参数可能更简单您只需直接在 Max 中打包即可。

【讨论】:

    【解决方案2】:

    可能是因为 I/O 通常是 buffered(特别是出于性能原因,也因为硬件是按块执行 I/O)。

    尝试刷新输出通道,可能使用PrintWriter::flush 或类似的东西。

    细节是特定于实现的(并且可能是特定于操作系统的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 2014-04-25
      相关资源
      最近更新 更多