最近學習c++,看到很多常用的例子,比如文件切割,切割後尾碼可以自定義,別人就無法從錶面的一個文件看出是什麼,也無法查看到原文件信息,只有合併後才能識別這廬山真面目 實現也比較粗暴,首先在應用層定義好兩個方法 先是文件分割,寫一個測試方法,去調用定義好的 fileSplit ,傳入生成的路徑,自定義 ...
最近學習c++,看到很多常用的例子,比如文件切割,切割後尾碼可以自定義,別人就無法從錶面的一個文件看出是什麼,也無法查看到原文件信息,只有合併後才能識別這廬山真面目
實現也比較粗暴,首先在應用層定義好兩個方法
先是文件分割,寫一個測試方法,去調用定義好的 fileSplit ,傳入生成的路徑,自定義的尾碼,還有切割的等份
接著在適配器的點擊方法中去調用這個測試方法,並且彈出了一個提示,列印出文件輸出的路徑
殼子已經造好,主要代碼通過jni去調用我們寫的C++代碼,通過C++去實現,在cpp文件中通樣定義好切割合併兩個方法
首先是切割文件,獲取到我們傳入的路徑後直接進行字元串截取,我們之前在應用層傳入了一個私有路徑,我在私有目錄下操作,這有app卸載的時候也會跟著清除,咋不能做流氓app啊
這裡比較簡單,就是一個字元串截取,把路徑和文件名稱留下來,尾碼換成我們自定義的尾碼,生成好切割的路徑存在數組裡
然後就是在這個路徑的基礎上去寫入文件,後面有項目地址,詳情請看具體代碼,這裡有一點需要註意,測試的文件是之前寫加密文件的時候寫的一個方法,生成文件加密解密,然後我是用的簽名生成的文件去切割合併的,省去了一個操作,所以需要換成你目錄的文件,或者直接運行我的項目,點擊加密文件自動生成測試文件也行
點擊文件切割分成了三分,自定義.s的尾碼,不過提示語還是開始的,在根目錄下,目前已經換成了私有目錄下,圖片之前做的,沒有更換,看輸出的log日誌
文件合併也一類似,拿到切割的完整地址(含尾碼)
然後把文件寫入到新的文件里,在把合併好的文件刪除
效果圖如下
可以看到之前切割的三個文件不見了,生成了一個新的合併文件,點開內容跟之前的一致,再看日誌輸出
o的k
GitHub:https://github.com/1024477951/KotlinStrong