Я отправляю расширение файла, и данные от клиента к серверу получают расширение файла, но когда я начинаю получать файл, я получаю это исключение 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();