У меня возникли проблемы с отправкой строки UTF8 из сокета c в сокет Java.
Следующий метод отлично работает:
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF8"));
main.title = in.readLine();
но тогда мне нужен метод int java.io.InputStream.read(byte[] b, int offset, int length)
, который не существует для BufferedReader. Итак, я попытался взять DataInputStream
DataInputStream in2 = new DataInputStream(socket.getInputStream());
но все, что он читает, это просто мусор.
Затем я попытался использовать метод readLine()
из DataInputStream
, но это не дает мне правильную строку UTF8.
Вы видите мою дилемму. Разве я не могу использовать два считывателя для одного InputStream? Или я могу преобразовать результат DataInputStream.readLine()
и преобразовать его в UTF8?
Спасибо,
Martin