最近学习c++,看到不少经常使用的例子,好比文件切割,切割后后缀能够自定义,别人就没法从表面的一个文件看出是什么,也没法查看到原文件信息,只有合并后才能识别这庐山真面目c++
实现也比较粗暴,首先在应用层定义好两个方法git
先是文件分割,写一个测试方法,去调用定义好的 fileSplit ,传入生成的路径,自定义的后缀,还有切割的等份github
接着在适配器的点击方法中去调用这个测试方法,而且弹出了一个提示,打印出文件输出的路径数组
壳子已经造好,主要代码经过jni去调用咱们写的C++代码,经过C++去实现,在cpp文件中通样定义好切割合并两个方法app
首先是切割文件,获取到咱们传入的路径后直接进行字符串截取,咱们以前在应用层传入了一个私有路径,我在私有目录下操做,这有app卸载的时候也会跟着清除,咋不能作流氓app啊学习
这里比较简单,就是一个字符串截取,把路径和文件名称留下来,后缀换成咱们自定义的后缀,生成好切割的路径存在数组里测试
而后就是在这个路径的基础上去写入文件,后面有项目地址,详情请看具体代码,这里有一点须要注意,测试的文件是以前写加密文件的时候写的一个方法,生成文件加密解密,而后我是用的签名生成的文件去切割合并的,省去了一个操做,因此须要换成你目录的文件,或者直接运行个人项目,点击加密文件自动生成测试文件也行加密
点击文件切割分红了三分,自定义.s的后缀,不过提示语仍是开始的,在根目录下,目前已经换成了私有目录下,图片以前作的,没有更换,看输出的log日志3d
文件合并也一相似,拿到切割的完整地址(含后缀)日志
而后把文件写入到新的文件里,在把合并好的文件删除
效果图以下
能够看到以前切割的三个文件不见了,生成了一个新的合并文件,点开内容跟以前的一致,再看日志输出
o的k