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");
}
}
我正在将文件从服务器传输到客户端。在上面的代码中,我总是得到UTFException,就像在5次尝试中一次。有人可以帮助我解决导致问题的原因,这是我输出的错误: output