作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 DatagramSocket 和 DatagramPacket 在 Java 中开发聊天应用程序。收到的数据包以字节为单位。但我不知道如何删除未使用的字节这是代码:-
String s,pack[];
byte[] data=new byte[100];
data=dp.getData();//dp is instance of DatagramPacket
s=new String(data)
pack=s.split("-");//Username-ConnectionProtocol-IPaddress
在此代码中,最后一个拆分获取 IP 地址以及几乎以字节为单位的未使用数据。所以我需要一个解决方案来以字节为单位切断未使用的数据。像 127.0.0.1[][][][][][][][][].....
我尝试使用 subtstring()
来截断字符串 Pack,但它的长度会有所不同。所以我需要一些帮助来解决这个问题。
最佳答案
new byte[100]
初始化数据,因为 dp.getData()
会丢弃您分配的 100 个字节。例如,如果您知道未使用的字节总是在数据包的末尾,并且它们总是设置为零,您可以使用这段代码来设置您的字符串:
data=dp.getData();
int pos = data.length-1;
while (pos != 0 && data[pos] == 0) {
pos--;
}
s=new String(data, 0, pos);
关于java - 砍掉未使用的字节数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11189648/
我是一名优秀的程序员,十分优秀!