/ / NumberFormatException в нишката? - Java, мрежи, мрежово програмиране

NumberFormatException в нишката? - Java, създаване на мрежи, програмиране на мрежи

Нуждаете се от още помощ. Работейки по мрежовото чат програмиране от серията от урок на Cherno. Имам 24 и този, когато нещата започнаха да се развалят. Стартирах сървъра, свързах се с него с локален клиент и се свързах с localhost, всичко това работи добре. Свързване Получавам тази грешка.

Exception in thread "Thread-0" java.lang.NumberFormatException: For input string: "8474"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at com.josh.chat.ClientWindow$1.run(ClientWindow.java:78)

Задавам случайно 4-цифрено число и го присвоявам като идентификатор тук и тук грешката се отнася за:

    public void listen() {
listen =  new Thread() {
public void run() {
while(running) {
String message = client.receive();
if(message.startsWith("/c/")) {
message.trim();
client.setID(Integer.parseInt(message.split("/c/|/e/")[1]));
console("Successfully connected to server! ID: " + client.getID());
}
}
}

};
listen.start();
}

EDIT: добавя цялата функция

В / c / и / e / ТРЯБВА да работи добре, не виждам проблеми с тях.

Отговори:

0 за отговор № 1

Ако String е наистина "8474", изключението не може да се случи. Така че бих казал, че String не е "8474". Може би има някакъв проблем с кодирането и някакъв скрит символ, който не виждате?

Опитвам:

String whatever = message.split("/c/|/e/")[1]).trim();
byte[] bytes = whatever.getBytes();
String str = new String(bytes, Charset.forName("utf-8"));
System.out.println(str); // control before trying to parse ...
client.setID(Integer.parseInt(str);