擷取拼接成新的字串System.arraycopy()如何一分鐘快速掌握(示例程式碼詳解)
阿新 • • 發佈:2018-11-07
//該示例程式碼直接執行即可,喜歡我的文章請關注我,你們是我動力的源泉,謝謝 public static void main(String[] args) { //宣告一個字串型別的變數,在實際開發中變數為獲取的引數 String signDate="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACFp1M5hOSfsmETLhU+s0vjtxfZKINq/Q6VShh6uNDiSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzABvMQZU3t8ILAMvi0Ns0aTFynN2BbngPJnMlucaFFo="; try { //Base64EnOrDe.decode對編碼後的簽名值進行解碼。 //接收簽名值的陣列 byte [] sign=Base64EnOrDe.decode(signDate); //在控制檯輸出擷取之前的屬性值。 System.out.println("擷取前"); 在虛擬機器日誌中輸出當前的解碼後的屬性值。 ByteAndHex.printHex(sign); //創建出一個新的陣列 byte [] newSign=new byte[64]; //System.arraycopy(源陣列, 擷取的下標從0開始算起, 目標陣列也就是存放 //的新陣列,存放下標開始的位置, 存放的引數); System.arraycopy(sign, 32, newSign,0, 32); System.arraycopy(sign, 96, newSign,32, 32); System.out.println("擷取後"); //虛機日誌打印出新的簽名值 ByteAndHex.printHex(newSign); } catch (UnsupportedEncodingException e) { e.printStackTrace(); }