【问题标题】:Pass binary file or byte[] from c# to java将二进制文件或字节 [] 从 c# 传递给 java
【发布时间】:2014-01-13 21:08:15
【问题描述】:

我在 c# 中有一个 .net 应用程序,它接收一个字节数组,我需要将它作为参数发送到 Java 程序,这是最好的方法吗?

注意:它们都在同一个服务器中。

【问题讨论】:

  • 字节数组包含什么?二进制数据还是文本?
  • java 应用程序是否已经运行?还是您正在启动它?
  • 数组有多大?
  • 如果您需要在您的C#应用程序中接收byte[]的数据,那么您只需将其作为文件写入计算机中即可。如果 java 应用在同一台机器上运行,请使用带有 FileInputStream 的 java.io 包来处理内容。
  • byteArray 有一个 pdfFile,java 应用必须按要求启动。

标签: c# java .net bytearray multiplatform


【解决方案1】:

启动一个进程并redirect the input stream

【讨论】:

  • 虽然我赞成这种方法(除非有进一步的限制),但它会阻止 C# 程序继续运行,直到 Java 客户端完全消耗并关闭输入流。
  • 我喜欢这种方法,但它适用于二进制数据吗?抱歉,我将只使用输入流.. 我可以从 java 返回一个流吗?
  • 对于二进制数据,只需从进程提供给您的 TextWriter 中获取 BaseStream,并将其用作任何流。
【解决方案2】:

通过套接字 (C# & Java) 将其发送到 Looback address (127.0.0.1)。如果只是简单的byte[],那么两端都非常简单。

这样,C# 和 Java 应用程序都可以继续其进程而不会中断。

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    相关资源
    最近更新 更多