java中用到ClassLoader.defineClass的時候,一般需要從base64字元串解碼後獲得byte數組。制作前面提到的base64字元串難免就需要對java檔案進行編譯,再對class檔案進行base64,網上推薦方法是linux用base64指令,windows->certutil指令,實際上兩個指令都會對base64字元串進行換行,甚至certutil還會寫入檔案,擷取base64之後還要去除換行,麻煩!!!
一行解決問題,直接輸出一行base64字元串到指令行界面不行嗎?是以研究了一下,整了個一行解決問題的方法
linux
javac Test.java; cat Test.class | base64 -w 0 | xargs
windows,powershell
javac .\Test.java ; $a = [System.IO.File]::ReadAllBytes(".\Test.class") ; [System.Convert]::ToBase64String($a)
作者:bitterz
位址:https://www.cnblogs.com/bitterz/
本文版權歸作者和部落格園所有,歡迎轉載,轉載請标明出處。
如果您覺得本篇博文對您有所收獲,請點選右下角的 [推薦],謝謝!