jni 文件切割合并

最近学习c++,看到不少经常使用的例子,好比文件切割,切割后后缀能够自定义,别人就没法从表面的一个文件看出是什么,也没法查看到原文件信息,只有合并后才能识别这庐山真面目c++

实现也比较粗暴,首先在应用层定义好两个方法git

先是文件分割,写一个测试方法,去调用定义好的 fileSplit ,传入生成的路径,自定义的后缀,还有切割的等份github

接着在适配器的点击方法中去调用这个测试方法,而且弹出了一个提示,打印出文件输出的路径数组

 

壳子已经造好,主要代码经过jni去调用咱们写的C++代码,经过C++去实现,在cpp文件中通样定义好切割合并两个方法app

 

首先是切割文件,获取到咱们传入的路径后直接进行字符串截取,咱们以前在应用层传入了一个私有路径,我在私有目录下操做,这有app卸载的时候也会跟着清除,咋不能作流氓app啊学习

这里比较简单,就是一个字符串截取,把路径和文件名称留下来,后缀换成咱们自定义的后缀,生成好切割的路径存在数组里测试

而后就是在这个路径的基础上去写入文件,后面有项目地址,详情请看具体代码,这里有一点须要注意,测试的文件是以前写加密文件的时候写的一个方法,生成文件加密解密,而后我是用的签名生成的文件去切割合并的,省去了一个操做,因此须要换成你目录的文件,或者直接运行个人项目,点击加密文件自动生成测试文件也行加密

 

 点击文件切割分红了三分,自定义.s的后缀,不过提示语仍是开始的,在根目录下,目前已经换成了私有目录下,图片以前作的,没有更换,看输出的log日志3d

文件合并也一相似,拿到切割的完整地址(含后缀)日志

 

 而后把文件写入到新的文件里,在把合并好的文件删除

 

效果图以下

 

能够看到以前切割的三个文件不见了,生成了一个新的合并文件,点开内容跟以前的一致,再看日志输出

 

 o的k

GitHub:https://github.com/1024477951/KotlinStrong