Имеем сокет, с ним имеем DataInputStream и DataOutputStream. Так-же есть BufferedReader, который читает текст из файла, но через out.writeUTF передать прочитанную строку не выходит, т.к. она слишком большая. Такой вопрос, можно ли сделать буфер для чтения, к примеру в 10кб за раз?
BufferedReader нетрудно заменить на BufferedInputStream и тогда всё можно очень просто сделать:
protected long copy(InputStream is, OutputStream os) throws IOException {
long bytesWritten = 0;
byte[] buffer = new byte[1024 * 10];
int bytesRead = 0;
while ((bytesRead = is.read(buffer)) > 0) {
if (bytesRead > 0) os.write(buffer, 0, bytesRead);
bytesWritten += bytesRead;
}
return bytesWritten;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости