получить длину содержимого строки []

Как получить Content-Length из String[] в java?

Текущий код:

public static int getLength(String[] sa) {
    int result = 0;
    for (String s : sa)
        result += s.length();
    return result;
}

Но возвращается неверное значение, поэтому браузер не читает все тело сообщения.


person DutChen18    schedule 15.12.2015    source источник
comment
О, я пытаюсь реализовать keep-alive на своем HTTP-сервере Java, для которого требуется указать Content-Length, иначе клиент не будет знать, где прекратить чтение документа. Используя код, который я написал в своем вопросе, клиент не получает все сообщение, потому что Content-Length, предоставленный сервером, неверен, я предположил, что это произошло потому, что .length() не считает некоторые байты, но, по-видимому, нет.   -  person DutChen18    schedule 15.12.2015


Ответы (1)


Неважно, я тупой, мне нужно было добавить 2 к результату для каждого \n\r (ввод) в String[]

Вот окончательный код:

public static int getLength(String[] sa) {
    int result = (sa.length - 1) * 2;
    for (String s : sa)
        result += s.length();
    return result;
}
person DutChen18    schedule 15.12.2015