如何将文件序列化为字节或其他java结构,并在RPC中发送



我需要读取一个文件,例如"test.sh"或"test.sh"。Cmd",包含简单的脚本。

使用Java,我需要序列化它,并通过TCP/IP(使用JAXB + ZeroMQ)通过TCP/IP发送到网络中的另一个节点。

获取文件并将其序列化为字节,然后在另一端(接收序列化字节的节点)将其转换回文件的最佳方法是什么?

假设文件足够小,可以装入内存而没有任何问题,那么InputStream.read(byte[] b, int off, int len)方法可能就是您要寻找的。该方法从输入流中读取最多len字节的数据,以指定的偏移量off读取到字节数组b中,并返回实际读取的字节数。该方法不提供保证,只保证在没有到达文件末尾并且没有错误的情况下至少读取一个字节,因此您必须在循环中调用此方法并检查返回值,以便为后续调用更新偏移量。

将数据写回文件就像调用OutputStream.write(byte[] b)一样简单。

相关内容

  • 没有找到相关文章

最新更新