while (!socket.isClosed()) {
// Thread.sleep(100);
clientData = new DataInputStream(in);
files_to_be_recieved = clientData.readInt();
System.out.println("Files sent:" + files_to_be_recieved);
fileName = new String[files_to_be_recieved];
fileSize = new int[files_to_be_recieved];
for (int i = 0; i < files_to_be_recieved; i++) {
fileName[i] = clientData.readUTF();// THIS LINE SOMETIMES THROWS
// UTFEXCEPTION
fileSize[i] = clientData.readInt();
System.out.println("FileName:" + fileName[i]);
System.out.println("FileSize:" + fileSize[i]);
}
for (int i = 0; i < files_to_be_recieved; i++) {
File f = new File("C:\\users\\MSP\\desktop\\", fileName[i]);
out = new FileOutputStream(f);
int received = 0;
byte[] bytes = new byte[32384];
System.out.println("Filename:" + fileName[i] + "\n" + "FileSize:" + fileSize[i]);
int count;
while ((count = in.read(bytes)) > 0) {
// System.out.println("COunt=" + count);
if (count < 1024) {
// System.out.println("COUNT INSIDE IF:" + count);
out.write(bytes, 0, count);
out.close();
break;
}
out.write(bytes, 0, count);
}
System.out.println("Transfer complete");
}
}
I am transferring files from server to client. In the above code i dont always get UTFException, only like once in 5 tries. Can some one help me with what's causing the issue, here is my output with error : output