2012-12-01 3 views
0

256 바이트 길이의 바이트 배열을 보내려면 128 바이트의 문자열과 다른 길이의 같은 문자열을 다른 문자열과 함께 사용해야합니다 (길이는 테스트 용). 더 필요한 것보다 바이트, passwordBytes와 같은이있는 경우에도, userBytes에주어진 길이의 바이트 배열을 다른 길이의 바이트 배열로 구성하는 방법 JAVA

public void packetCompose(String user, String password) { 
    //insert user in 128 bytes length, same with password 
    //and make a 256 length byte array to send 
    byte[] userBytes = user.getBytes(); 
    byte[] passwordBytes = password.getBytes(); 
    byte[] buf = new byte[256]; 
} 

내가 원하는 128 바이트 길이 :

내 코드입니다. 그런 다음 buf를 userBytes와 passwordBytes 순으로 만듭니다.

제안 사항? 미리 감사드립니다.

답변

3

바이트를 대상 buf 배열로 복사하기 만하면됩니다.

System.arraycopy(userBytes , 0, buf, 0, Math.min(userBytes.length, 128)); 
System.arraycopy(passwordBytes, 0, buf, 128, Math.min(userBytes.length, 128)); 
+0

정말 고마워요! 그것은 훌륭하게 작동했습니다!, Math.min() 대신 Math.min()을 수정하는 해답을 편집하십시오 ;-D –

관련 문제