at java.io.DataInputStream.readFully(DataInputStream.java:178)
at java.io.DataInputStream.readUTF(DataInputStream.java:565)
at java.io.DataInputStream.readUTF(DataInputStream.java:522)
此异常主要被数据输入流用来表明到达流的末尾。注意,其他许多输入操作返回一个特殊值表示到达流的末尾,而不是抛出异常。
private static final int BUFFER_SIZE=1024*1024;
......
Socket socket = new Socket(cfg.getIp(), Integer.parseInt(SysParamsToolkit.getProperty("socketport")));
String charset = SysParamsToolkit.getProperty("socke.rexml.charset"); //Socket发送的字符集编码
try {
OutputStream dos = socket.getOutputStream();
dos.write(xmlcmd.getBytes(charset));
dos.flush();
DataInputStream dis = new DataInputStream(socket.getInputStream());
char[] data = new char[BUFFER_SIZE];
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream(), charset));
int len = br.read(data);
String rexml = String.valueOf(data, 0, len); //接收一个字符串数据
} catch (Exception e) {
return false;
} finally {
if (socket.isConnected())
socket.close();
}
......