
public static Byte[] getRandombyte() {
Random random = new Random();
Byte[] b= {1,2,3,4,5,6,7,8};
for (int i = 0; i < 8; i++) {
Integer is = randomnextInt(9);
b[i]=ByteparseByte(istoString());
}
return b;
}
//上面是方法 下面是测试的主函数
public static void main(String[] args) {
for(int i=0;i<20;i++){
for (int j = 0; j < getRandombyte()length; j++) {
Byte b2 = getRandombyte()[j];
Systemoutprint(b2toString());
}
Systemoutprintln();
}
}
接收方法的问题
第一次read没问题 但第二次read时因为只接受了3个字符 而数组长度却是8结果就是除了前3个字符外剩下全部都是0 就出现了你的问题。
byte[] b = {0x11,0x22,0x33, 0x00, 0x00, 0x00, 0x00}; -->length = 1024 后面都是0x00
就是因为只接受了前3个字符 后边数组实例的时候本身就是0
解决方法也比较容易
read(byte[] b)方法提供了一个返回的整数用来表示接受了多少个字符。
只要每次read时判断下看看返回的数值和数组长度大小。如果接收小于数组长度在处理处理数据时把多余的数据去掉。
1、首先打开c语言软件,然后选择页面上方的文件--》新建--》项目。
2、然后在d出的对话框中选择为:控制台应用程序,输入程序的名称。
3、确定后系统生成的代码。
4、然后测试代码: 把字符串转换成byte数组。
5、把一个byte数组转换为一个字符串。
6、最后字符串转换成byte数组成功,结果byte数组成字符串成功。
以上就是关于求一个JAVA 程序,随机产生一个byte数组全部的内容,包括:求一个JAVA 程序,随机产生一个byte数组、请教大家JAVA——socket接收的数据(byte[])的处理、如何将BYTE数组初始化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)