anyeskt 2016-07-08 07:28 采纳率: 0%
浏览 1345

android的访问服务器数据查询报java.io.EOFException错误

android为什么只有传递时间格式才报java.io.EOFException错误

private HttpPostUtil mHttp = null;

private void refresh() {
new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                mHttp.clearTextParameter();
                mHttp.setUrl(ConstantInfo.EVENT_QUERY_LIST_URL);
                mHttp.addTextParameter("item", mEventInfo);
                LogUtil.d("获取查询的条件", mEventInfo.getEventState());
                mHttp.addTextParameter("pageSize", pageSize);
                LogUtil.d("获取查询的条件2", mEventInfo.getEndTime());
                mHttp.addTextParameter("pageIndex", pageIndex);
                String result = mHttp.connect();
                LogUtil.d("获取查询的条件3", result);
                eventList = GsonUtil.fromJsonList(result, EventInfo.class);
                LogUtil.d("获取查询的条件4", eventList);
                sendEmptyMessage(mHandler, ErrorCode.SUCCESS);
            } catch (ConnectException e) {
                LogUtil.e(TAG, e.toString());
                sendEmptyMessage(mHandler, ErrorCode.ERROR_NETWORK);
            } catch (Exception e) {
                LogUtil.e(TAG, e.toString());
                LogUtil.d("获取查询的条件5",e.toString());
                sendEmptyMessage(mHandler, ErrorCode.ERROR_SERVICE);
            }
        }
    }).start();
}

public String connect() throws IOException {
//中断连接
this.isInterrupt = false;
try {
initConnection();
} catch (Exception e) {
LogUtil.e(TAG, e.toString());
throw new ConnectException("连接服务器失败,可能设备没网络");
}
conn.connect();
//写入流
OutputStream os = conn.getOutputStream();
LogUtil.d("获取的流是多少", os);
mDataOutputStream = new DataOutputStream(os);
LogUtil.d("获取的流是多少2", mDataOutputStream);
//写入
writeStringParams();
writeFileParams();
paramsEnd();
LogUtil.d("获取的状态码是多少", conn.getResponseCode());
//连接成功的标志200
if(conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
//获取输入的流
InputStream in = conn.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
int b = -1;
while ((b = in.read()) > -1) {
out.write(b);
}
byte[] arr = out.toByteArray();
out.close();
in.close();
mDataOutputStream.close();
os.close();
disconnect();
LogUtil.d("获取的字节的数组", arr);
String result = new String(arr);
if(TextUtils.isEmpty(result)) {
throw new NullPointerException("服务器返回值为空");
}
LogUtil.d(TAG, result);
return result;
} else {
LogUtil.e(TAG , "响应码==> " + conn.getResponseCode());
throw new IOException("服务器异常");
}
}

  • 写回答

1条回答 默认 最新

  • 东风玖哥 2016-10-26 01:57
    关注

    EOFException不要捕获,直接忽略

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制