本篇文件合并,和上一篇写的文件分割是常用的Java IO案例。文件分割的具体内容请参考如下文章:
文件合并时,需要用多个输入流依次读取文件,并且进行有序的组装,这里必须使用序列流SequenceInputStream完成,其作用是: “SequenceInputStream表示其他输入流的逻辑级联。 它从一个有序的输入流集合开始,从第一个读取到文件的结尾,然后从第二个文件读取,依此类推,直到最后一个输入流达到文件的结尾。”
如果不使用序列流,而直接读取文件输入流后写入文件,会出现文件无法读取的情况,有兴趣的可以自己尝试。
继续上一篇文件分割,我们将如下四个分割文件,重新合成为新的目标文件,并且保证新文件可用,要求如下:
1.将源目录下的分割文件进行有序组装,文件:C:\splitfiles
2.组装后的文件要求可正常读取和显示,输出路径到:C:\Users\xxxxx\Desktop\RestServer\dest.png
3.每次合并一个分割文件,都执行一次打印。
代码和结果如下:
package IO;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.SequenceInputStream;
import java.util.ArrayList;
import java.util.Collections;