zoukankan      html  css  js  c++  java
  • jni 文件切割合并

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

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

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

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

     

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

     

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

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

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

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

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

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

    效果图如下

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

     o的k

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

  • 相关阅读:
    0112centos上面l安装卸载mysq
    0111mysql如何选择Join的顺序
    0111MySQL优化的奇技淫巧之STRAIGHT_JOIN
    0108MySQL集群搭建详解(三种结点分离)
    0106主从复制
    0104探究MySQL优化器对索引和JOIN顺序的选择
    MongoDB整理笔记の新增Shard Server
    MongoDB整理笔记の管理Sharding
    MongoDB整理笔记のSharding分片
    MongoDB整理笔记の减少节点
  • 原文地址:https://www.cnblogs.com/LiuZhen/p/12120618.html
Copyright © 2011-2022 走看看