这里说道的分割、合并文件是将一个文件按照一定的字节大小进行拆分,拆成特定大小的碎片文件,并且将这些碎片文件再还原为原始文件的过程。
今天找了一点点时间将之前写好的程序进行了一个粗略的整理,并将它包装成一个exe文件,看上去像一个软件工具了。主要涉及到的技术点为:swing、序列化、RandomAccessFile随机读写文件、Java打包成exe等。
文件分割表示按某些特定的大小将一个文件进行拆分,拆成多个碎片文件,每个碎片表示为一个片段,本例中实现的文件大小参数有:1M、10M、50M、100M,碎片分类为序号分段、随机乱序。举个例子说,如果将一个10M的文件按照1M的大小进行分割,如果使用序号分段则会生成xx1~xx2...等xx10个片段文件;否则如果使用随机乱序则会xx1001,xx5312,xx3322...等一些无规则的随机数字,让人无从得知将怎么恢复文件,稍微能够起到一丢丢的安全提升。
合并文件根据分割文件时生成的配置文件而来,配置文件中记录了所有碎片文件生成时的顺序,依次读取这些碎片文件,并将这些碎片文件写入一个新的文件即可。
运行效果截图:
打包成exe的时候从MyEclipse安装目录中随便找了一个ico文件,文件打开后状态栏的图片和logo使用了一个玫瑰图片,这都不是重点。
分割文件的核心代码:
packagecn.chendd.core;
importjava.io.BufferedOutputStream;
importjava.io.File;
importjava.io.FileOutputStream;