Я получаю UTFDataFormatException при получении данных от клиента - PullRequest
0 голосов
/ 29 ноября 2018

Я отправляю расширение файла, и данные от клиента к серверу получают расширение файла, но когда я начинаю получать файл, я получаю это исключение java.io.UTFDataFormatException: искаженный ввод вокруг байта 0 Это моя сторона серверакод, который получает

DataInputStream in= new DataInputStream(new BufferedInputStream(socket.getInputStream()));
    input= in.readUTF();// *I get error here when i start receiving file*
    }
    if(input.startsWith("reply")){
    addTask(input.substring(5));
    }

Вот мой код класса сервера: This code sends extension which works fine and extension is well received at server side

    void sendReply(String extension,Socket s) throws IOException {
    DataOutputStream out = new DataOutputStream(s.getOutputStream());
    out.writeUTF("ext"+extension);
}

Этот код отправляет файл:

DataOutputStream dos;
        dos= new DataOutputStream(socket.getOutputStream());
            try (FileInputStream fis = new FileInputStream(f)) {
                byte[] buffer = new byte[4096];
                while(fis.read(buffer)>0)
                {
                    dos.write(buffer);
                }   
            }
        dos.close();
...