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个回答

java.lang.NumberFormatException: Invalid int: “”

http://stackoverflow.com/questions/24910757/java-lang-numberformatexception-invalid-int-null

错误代码

hostText = (EditText) findViewById(R.id.host);
p......
答案就在这里:java.lang.NumberFormatException: Invalid int: ""
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

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

mchp
mchp 你好, 我是要上传文件, 要上传的文件没问题, 就是打开连接上传时, 出这个错, 我都很奇怪, 这和格式转换没有关系呀
3 年多之前 回复

你把 “”空串转int,肯定不行的啊

mchp
mchp 我是要上传文件, 要上传的文件没问题, 就是打开连接上传时, 出这个错, 我都很奇怪, 我没有进行格式转换
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!