`
zhoulujun007
  • 浏览: 17101 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

setdoinput和setdooutput是什么鬼?他们的默认值分别是什么?

    博客分类:
  • java
阅读更多

[url=http://www.zhoulujun.cn/zhoulujun/html/java/javaBase/7817.html]文章来源:

[/url]
android 6.0默认奇妙地移除了
HttpClient,所以AndroidHttpClient,也跟着移除了+——
AndroidHttpClient 是HttpClient的封装^
官方建议……使用URLConnection……(疯狂原始人么?……
然后,看代码!!

setdoinput和setdooutput ……

blob.png

这两个的默认值是什么啊!(其实只需要设置一个就可以了……
httpUrlConnection.setDoOutput(true);以后就可以使用conn.getOutputStream().write() 
httpUrlConnection.setDoInput(true);以后就可以使用conn.getInputStream().read(); 
get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。 
post请求(比如:文件上传)需要往服务区传输大量的数据,这些数据是放在http的body里面的,因此需要在建立连接以后,往服务端写数据。 
 
因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。 

public void setDoInput(boolean doinput)将此 URLConnection 的 doInput 字段的值设置为指定的值。   
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 true。  (因为总是使用conn.getInputStream()获取服务端的响应,因此默认值是true。 
public void setDoOutput(boolean dooutput)将此 URLConnection 的 doOutput 字段的值设置为指定的值。   
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置为 true;如果不打算使用,则设置为 false。默认值为 false。   (get请求用不到conn.getOutputStream(),因为参数直接追加在地址后面,因此默认是false。  
 
api上说的很清楚了,楼主不确定是可以先查下java api文档 

package com.pagoda.tool;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;

/**
* Created by lujun on 3/1/2016.
*/
public class HttpSend {

    public String sendPost(String url,String param){
        PrintWriter printWriter = null;
        BufferedReader bufferedReader = null;
        String result="";
        try {
            URL url2=new URL(url);
            URLConnection connection=url2.openConnection();
            connection.setDoInput(true);
            connection.setDoOutput(true);
            printWriter=new PrintWriter(connection.getOutputStream());
            printWriter.print(param);
            printWriter.flush();
            bufferedReader= new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;

            while ((line=bufferedReader.readLine())!=null){
                result+=line;
            }
            bufferedReader.close();

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try{
                if(printWriter!=null){
                    printWriter.close();
                }
                if(bufferedReader!=null){
                    bufferedReader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        return  result;

    }

}
转载保持出处![url]http://www.zhoulujun.cn/zhoulujun/html/java/javaBase/7817.html[url]

 

分享到:
评论

相关推荐

    基于ssh的在线投稿系统 短信发送 邮件发送

    connection.setDoInput(true);//设置是否允许数据写入 connection.setDoOutput(true);//设置是否允许参数数据输出 connection.setConnectTimeout(5000);//设置链接响应时间 connection.setReadTimeout(10000);//...

    Android GetPost数据提交实例.rar

    Android GetPost数据提交实例,发送post必须设置 conn.setDoInput(true);conn.setDoOutput(true);这两行代码,从用户界面提交过来的数据上传到服务器接收,类似于WEB网页提交表单的操作,不过Android有自己独特的...

    Java发https请求证书问题

    HttpURLConnection connection = (HttpURLConnection) url.openConnection();... connection.setDoOutput(true); connection.setDoInput(true); System.out.println( "1--Conected to "+ connection.toString());

    java微博模拟登陆+图片上传微博图床

    conn.setDoInput(true); conn.setDoOutput(true); conn.setRequestMethod("POST"); OutputStream out = conn.getOutputStream(); out.write(params.getBytes()); out.flush(); out.close(); String session...

    微信企业号项目

    conn.setDoOutput(true); conn.setUseCaches(false); //请求头 conn.setRequestProperty("Connection", "Keep-Alive"); conn.setRequestProperty("Charset", "UTF-8"); //conn.setRequestProperty("Content-...

    Android 上传文件工具类

    Android 上传文件至服务器和下载文件至本地,亲测有效,只需传入相关参数即可。/** * android上传文件到服务器 * * @param file * 需要上传的文件 * @param RequestURL * 请求的rul * @return 返回...

    下载代码

    conn.setDoInput(true); conn.connect(); is = conn.getInputStream();//打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 bis = new BufferedInputStream(is); }catch(Exception e){ ...

Global site tag (gtag.js) - Google Analytics