1

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

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

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

4

1 回答 1

3

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

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

于 2012-12-30T20:45:55.753 回答