Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java合并二进制文件?_Java_File_Merge - Fatal编程技术网

如何使用Java合并二进制文件?

如何使用Java合并二进制文件?,java,file,merge,Java,File,Merge,我正在使用socket下载文件部件,并将它们保存为.part1、.part2等(但我不确定是否应该)。我正在尝试将它们合并到一个.bin文件中。你们谁能给我推荐一种方法吗?我是否应该将它们全部读取为二进制,然后附加它?我甚至不知道这是否真的有意义。我做到了。逐个读取文件并将其写入输出。为什么不打开第一部分进行输入,然后打开表单的输出流 out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)

我正在使用socket下载文件部件,并将它们保存为.part1、.part2等(但我不确定是否应该)。我正在尝试将它们合并到一个.bin文件中。你们谁能给我推荐一种方法吗?我是否应该将它们全部读取为二进制,然后附加它?我甚至不知道这是否真的有意义。

我做到了。逐个读取文件并将其写入输出。

为什么不打开第一部分进行输入,然后打开表单的输出流

out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(outFile)));
然后以字节形式读入第一部分文件,并使用writeByte()方法将其全部写出

然后关闭第一部分,打开第二部分,读入,然后输出到输出文件


这不会合并两个文件的内容吗?

我尝试了这一个,但不理解这段代码。它能帮我吗??剪切并粘贴它,然后尝试。不太可能有人会在这方面有所改进。如果你不能理解它,也许问题超出了你的能力范围。好吧,我发现这并不超出我的能力范围。这很有效。请记住(与Ada显然所做的不同,正如他自己的答案所引用的),您一次只能读取一个文件,然后将其附加到输出中,除非您确定整个输出文件都可以放入Java堆中。我只修改了我引用的代码。但是它有点慢。readByte和writeByte会更快吗?顺便说一句,“他”是谁?