java - JAVA如何让给定长度的字节数组由其他给定长度的字节数组组成

标签 java arrays sockets byte

我想发送一个 256 字节长度的字节数组,它必须是 128 字节的字符串,并且与另一个字符串的长度相同(长度仅用于测试目的)。

这是我的代码:

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];
}

我希望 userBytes 的长度为 128 字节,即使字节数多于所需的字节数,passwordBytes 也是如此。然后使 buf 类似于 userBytes 后跟 passwordBytes。

有什么建议吗?提前致谢

最佳答案

只需将字节复制到目标 buf 数组中即可。

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

关于java - JAVA如何让给定长度的字节数组由其他给定长度的字节数组组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659289/

相关文章:

java - 尽管有足够的可用内存,但巨大的数组仍会导致内存不足

c - 从文本文件分配给数组的值不正确

Linux UDP 套接字 : select() is not notified?

java - 我应该为此动画使用 SwingWorker、线程或递归更新吗?

JavaFX Apache POI Excel 登录程序

java - 询问是/否以返回循环

java - 将 .js.map 文件添加到 apache wicket-6.x 中的页面标题

javascript - 将元音大写

python - Python中的进程间通信

sockets - zeromq 如何与 SSL 协同工作?