欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

jni 文件切割合并

程序员文章站 2024-02-03 17:55:46
最近学习c++,看到很多常用的例子,比如文件切割,切割后后缀可以自定义,别人就无法从表面的一个文件看出是什么,也无法查看到原文件信息,只有合并后才能识别这庐山真面目 实现也比较粗暴,首先在应用层定义好两个方法 先是文件分割,写一个测试方法,去调用定义好的 fileSplit ,传入生成的路径,自定义 ......

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

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

jni 文件切割合并

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

jni 文件切割合并

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

 jni 文件切割合并

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

jni 文件切割合并 

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

jni 文件切割合并

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

jni 文件切割合并

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

jni 文件切割合并

 

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

jni 文件切割合并

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

jni 文件切割合并

 

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

jni 文件切割合并

 

效果图如下

jni 文件切割合并

 

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

jni 文件切割合并

 

 o的k

github:https://github.com/1024477951/kotlinstrong