mchp 2016-07-08 02:32 采纳率: 0%
浏览 3561

java.lang.NumberFormatException: Invalid int: ""

07-08 10:18:40.743: W/System.err(32269): java.lang.NumberFormatException: Invalid int: ""

07-08 10:18:40.763: W/System.err(32269): at java.lang.Integer.invalidInt(Integer.java:138)

07-08 10:18:40.763: W/System.err(32269): at java.lang.Integer.parseInt(Integer.java:359)

07-08 10:18:40.763: W/System.err(32269): at java.lang.Integer.parseInt(Integer.java:332)

07-08 10:18:40.763: W/System.err(32269): at java.util.Calendar.getHwFirstDayOfWeek(Calendar.java:807)

07-08 10:18:40.763: W/System.err(32269): at java.util.Calendar.(Calendar.java:745)

07-08 10:18:40.763: W/System.err(32269): at java.util.GregorianCalendar.(GregorianCalendar.java:338)

07-08 10:18:40.763: W/System.err(32269): at java.util.GregorianCalendar.(GregorianCalendar.java:314)

07-08 10:18:40.763: W/System.err(32269): at java.text.SimpleDateFormat.(SimpleDateFormat.java:378)

07-08 10:18:40.763: W/System.err(32269): at java.text.SimpleDateFormat.(SimpleDateFormat.java:368)

07-08 10:18:40.763: W/System.err(32269): at libcore.net.http.HttpDate$1.initialValue(HttpDate.java:38)

07-08 10:18:40.763: W/System.err(32269): at libcore.net.http.HttpDate$1.initialValue(HttpDate.java:36)

07-08 10:18:40.763: W/System.err(32269): at java.lang.ThreadLocal$Values.getAfterMiss(ThreadLocal.java:430)

07-08 10:18:40.763: W/System.err(32269): at java.lang.ThreadLocal.get(ThreadLocal.java:65)

07-08 10:18:40.763: W/System.err(32269): at libcore.net.http.HttpDate.parse(HttpDate.java:73)

07-08 10:18:40.773: W/System.err(32269): at libcore.net.http.ResponseHeaders.(ResponseHeaders.java:142)

07-08 10:18:40.773: W/System.err(32269): at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:547)

07-08 10:18:40.773: W/System.err(32269): at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:784)

07-08 10:18:40.773: W/System.err(32269): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)

07-08 10:18:40.773: W/System.err(32269): at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:479)

07-08 10:18:40.773: W/System.err(32269): at com.example.uploadtest.UploadARMThread.post(UploadARMThread.java:132)

07-08 10:18:40.773: W/System.err(32269): at com.example.uploadtest.UploadARMThread.run(UploadARMThread.java:34)

以上错误发生在
int code = urlConn.getResponseCode();这一句

HttpURLConnection urlConn = null;
BufferedReader br = null;
try {
//新建url对象
URL url = new URL(actionUrl);
//通过HttpURLConnection对象,向网络地址发送请求
urlConn = (HttpURLConnection)url.openConnection();

        //设置该连接允许读取
        urlConn.setDoOutput(true);   
        //设置该连接允许写入
        urlConn.setDoInput(true);   
        //设置不能适用缓存
        urlConn.setUseCaches(false);
        //设置连接超时时间
        urlConn.setConnectTimeout(3000);   //设置连接超时时间
        //设置读取时间
        urlConn.setReadTimeout(4000);   //读取超时
        //设置连接方法post
        urlConn.setRequestMethod("POST");
        //设置维持长连接
        urlConn.setRequestProperty("connection", "Keep-Alive");
        //设置文件字符集
        urlConn.setRequestProperty("Charset", CHARSET);
        //设置文件类型
        urlConn.setRequestProperty("Content-Type", MUTIPART_FORMDATA+";boundary="+BOUNDARY);
        /********************************************************************/      
        DataOutputStream dos = new DataOutputStream(urlConn.getOutputStream());

        //构建表单数据
        //String entryText = bulidFormText(params);
        //dos.write(entryText.getBytes());

        int index = 1;


            StringBuffer sb = new StringBuffer("");
            sb.append(PREFIX+BOUNDARY+LINEND)                
            .append("Content-Disposition: form-data;" +
                " name=\""+"123456"+"\";" +
                " filename=\""+"2222222"+"\""+LINEND)
                .append("Content-Type:"+CONTENTTYPE+";" +
                        "charset="+CHARSET+LINEND)
                  .append(LINEND);

            dos.write(sb.toString().getBytes());

            FileInputStream fis = new FileInputStream(files);

            byte[] buffer = new byte[10000];
              int len = 0;
              while ((len = fis.read(buffer)) != -1) {
                dos.write(buffer, 0, len);
              }
              dos.write(LINEND.getBytes());
              fis.close();


        //请求的结束标志
        byte[] end_data = (PREFIX + BOUNDARY + PREFIX + LINEND).getBytes();
        dos.write(end_data);
        dos.flush();
        dos.close();
        // 发送请求数据结束  

        //接收返回信息    
        int code = urlConn.getResponseCode();
        if(code!=200){
            urlConn.disconnect();
            return code;
        }else{
            br = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
            String result = "";
            String line = null;
            while((line = br.readLine())!=null){
                result += line;
            }
            Log.i(Constant.TAG, result);
            if("true".equals(result)){
                return 200;
            }else{
                return 500;
            }
        }
    } catch (Exception e) {
      e.printStackTrace();
      Log.e(Constant.TAG, e.getMessage());
      return -1;
    }finally{
      try {
        if(br!=null){
          br.close();
        }
        if(urlConn!=null){
          urlConn.disconnect();
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
    }

    这段代码在一个Thread的Run()中执行, 不在主进程
  • 写回答

3条回答

  • bdmh 移动开发领域优质创作者 2016-07-08 02:39
    关注

    转换出错了,你的值不能被转换为int,看看数据源的数据是否正常

    评论

报告相同问题?

悬赏问题

  • ¥15 如何实现从tello无人机上获取实时传输的视频流,然后将获取的视频通过yolov5进行检测
  • ¥15 WPF使用Canvas绘制矢量图问题
  • ¥15 用三极管设计一个单管共射放大电路
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决