如何使用Java合并二进制文件?
我正在使用socket下载文件部件,并将它们保存为.part1、.part2等(但我不确定是否应该)。我正在尝试将它们合并到一个.bin文件中。你们谁能给我推荐一种方法吗?我是否应该将它们全部读取为二进制,然后附加它?我甚至不知道这是否真的有意义。我做到了。逐个读取文件并将其写入输出。为什么不打开第一部分进行输入,然后打开表单的输出流如何使用Java合并二进制文件?,java,file,merge,Java,File,Merge,我正在使用socket下载文件部件,并将它们保存为.part1、.part2等(但我不确定是否应该)。我正在尝试将它们合并到一个.bin文件中。你们谁能给我推荐一种方法吗?我是否应该将它们全部读取为二进制,然后附加它?我甚至不知道这是否真的有意义。我做到了。逐个读取文件并将其写入输出。为什么不打开第一部分进行输入,然后打开表单的输出流 out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)
out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)));
然后以字节形式读入第一部分文件,并使用writeByte()方法将其全部写出
然后关闭第一部分,打开第二部分,读入,然后输出到输出文件
这不会合并两个文件的内容吗?我尝试了这一个,但不理解这段代码。它能帮我吗??剪切并粘贴它,然后尝试。不太可能有人会在这方面有所改进。如果你不能理解它,也许问题超出了你的能力范围。好吧,我发现这并不超出我的能力范围。这很有效。请记住(与Ada显然所做的不同,正如他自己的答案所引用的),您一次只能读取一个文件,然后将其附加到输出中,除非您确定整个输出文件都可以放入Java堆中。我只修改了我引用的代码。但是它有点慢。readByte和writeByte会更快吗?顺便说一句,“他”是谁?