2012-12-30 21 views
1

我需要读取包含简单脚本的文件,例如“test.sh”或“test.cmd”。如何将文件序列化为字节或其他Java结构并将其发送到RPC

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

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

回答

3

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

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

相关问题