为什么第二个try的BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
这句和is.close();这句话会出错呢
try{
         HttpClient httpclient=new DefaultHttpClient();
         HttpPost httppost=new HttpPost("http://110.86.69.250/getAllPeopleBornAfter.php");
         httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
         HttpResponse response =httpclient.execute(httppost);
         HttpEntity entity=response.getEntity();
         InputStream is=entity.getContent();
        }catch(Exception e){
         Log.e("log_tag", "Error in http connection" + e.toString());
        }
        try{
BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
         StringBuilder sb=new StringBuilder();
         String line =null;
         while((line=reader.readLine())!=null){
         sb.append(line+"\n");
         }
         is.close();
         result=sb.toString();
        }catch(Exception e){
         Log.e("log_tag","Error converting result" + e.toString());
        }

解决方案 »

  1.   

    我上面一个try定义了is了,下面就调用不了了吗?
      

  2.   

    将2个try合并成一个,例如try{
       HttpClient httpclient=new DefaultHttpClient();
       HttpPost httppost=new HttpPost("http://110.86.69.250/getAllPeopleBornAfter.php");
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
       HttpResponse response =httpclient.execute(httppost);
       HttpEntity entity=response.getEntity();
       InputStream is=entity.getContent();
     BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
       StringBuilder sb=new StringBuilder();
       String line =null;
       while((line=reader.readLine())!=null){
       sb.append(line+"\n");
       }
       is.close();
       result=sb.toString();   
       }catch(Exception e){
       Log.e("log_tag", "Error in http connection" + e.toString());
       }
      

  3.   

    或者将is在try外部定义,这样2个try都可以用。InputStream is;
    try{
       HttpClient httpclient=new DefaultHttpClient();
       HttpPost httppost=new HttpPost("http://110.86.69.250/getAllPeopleBornAfter.php");
       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
       HttpResponse response =httpclient.execute(httppost);
       HttpEntity entity=response.getEntity();
       is=entity.getContent();
       }catch(Exception e){
       Log.e("log_tag", "Error in http connection" + e.toString());
       }
       try{
     BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
       StringBuilder sb=new StringBuilder();
       String line =null;
       while((line=reader.readLine())!=null){
       sb.append(line+"\n");
       }
       is.close();
       result=sb.toString();
       }catch(Exception e){
       Log.e("log_tag","Error converting result" + e.toString());
       }