最近學習c++,看到很多常用的例子,比如檔案切割,切割后后綴可以自定義,別人就無法從表面的一個檔案看出是什么,也無法查看到原檔案資訊,只有合并后才能識別這廬山真面目
實作也比較粗暴,首先在應用層定義好兩個方法

先是檔案分割,寫一個測驗方法,去呼叫定義好的 fileSplit ,傳入生成的路徑,自定義的后綴,還有切割的等份

接著在配接器的點擊方法中去呼叫這個測驗方法,并且彈出了一個提示,列印出檔案輸出的路徑

殼子已經造好,主要代碼通過jni去呼叫我們寫的C++代碼,通過C++去實作,在cpp檔案中通樣定義好切割合并兩個方法
首先是切割檔案,獲取到我們傳入的路徑后直接進行字串截取,我們之前在應用層傳入了一個私有路徑,我在私有目錄下操作,這有app卸載的時候也會跟著清除,咋不能做流氓app啊

這里比較簡單,就是一個字串截取,把路徑和檔案名稱留下來,后綴換成我們自定義的后綴,生成好切割的路徑存在陣列里

然后就是在這個路徑的基礎上去寫入檔案,后面有專案地址,詳情請看具體代碼,這里有一點需要注意,測驗的檔案是之前寫加密檔案的時候寫的一個方法,生成檔案加密解密,然后我是用的簽名生成的檔案去切割合并的,省去了一個操作,所以需要換成你目錄的檔案,或者直接運行我的專案,點擊加密檔案自動生成測驗檔案也行

點擊檔案切割分成了三分,自定義.s的后綴,不過提示語還是開始的,在根目錄下,目前已經換成了私有目錄下,圖片之前做的,沒有更換,看輸出的log日志

檔案合并也一類似,拿到切割的完整地址(含后綴)

然后把檔案寫入到新的檔案里,在把合并好的檔案洗掉

效果圖如下

可以看到之前切割的三個檔案不見了,生成了一個新的合并檔案,點開內容跟之前的一致,再看日志輸出

o的k
GitHub:https://github.com/1024477951/KotlinStrong
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/43804.html
標籤:Android
下一篇:AndroidStudio報錯:GradleSyncIssues-Could not install Gradle distribution from...
