【发布时间】:2012-03-25 14:17:51
【问题描述】:
这是我为解决此错误而采取的步骤。
move_to_send = Integer.toString(b_id); // b_id >= 0 && b_id <= 8
// Send over socket
byte[] buf = move_to_send.getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length, ADDRESS, opp_port);
socket.send(packet);
byte[] buf = new byte[GAME_DATA.BUF_SIZE];
DatagramPacket packet = new DatagramPacket(buf, GAME_DATA.BUF_SIZE);
socket.receive(packet);
byte[] data = packet.getData();
move_received = new String(data, "UTF-8");
// Error then occurs at this line
int move = Integer.parseInt(move_received);
我只是想通过套接字发送一个整数。也许有更好的方法?我仍然想知道为什么会发生这个错误,因为如果我打印字符串 move_received 它是一个数字字符串
【问题讨论】:
-
你在解析之前尝试过修剪字符串吗?
-
move_received包含哪些字符? -
你有没有试过看看
move_received包含什么? -
我觉得很傻。修剪工作。当我打印字符串进行调试时,我从不考虑前导空格,只考虑尾随