欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

FileUtils擴展readURLtoString讀取url內容

 更新時間:2014年01月17日 09:45:43   作者:  
這篇文章主要介紹了FileUtils擴展readURLtoString使用其支持讀取URL內容為String,支持帶POST傳大量參數(shù),大家參考使用吧

復制代碼 代碼如下:

/**
  * 因為FileUtils不支持,所以添加個方法 String content =
  * FileUtils.readFileToString(FileUtils.toFile(new
  * URL("http://www.baidu.com")));
  *
  * @param source
  * @param encoding
  * @return
  * @throws IOException
  */
 public static String readURLToString(URL source) throws IOException {
  return readURLToString(source,null);
 }
 /**
  * 因為FileUtils不支持,所以添加個方法
  *
  * <pre>
  * String content = FileUtils.readFileToString(FileUtils.toFile(new URL(
  *   &quot;http://www.baidu.com&quot;)), &quot;gb2312&quot;);
  * </pre>
  *
  * @param source
  * @param encoding
  * @return
  * @throws IOException
  */
 public static String readURLToString(URL source, String encoding)
   throws IOException {
  InputStream input = source.openStream();
  try {
   return IOUtils.toString(input, encoding);
  } finally {
   IOUtils.closeQuietly(input);
  }
 }
 /**
  * 讀取url的內容(method為post,可指定多個參數(shù))
  * @param url
  * @param encoding
  * @param params map的參數(shù)(key為參數(shù)名,value為參數(shù)值)
  * @return String
  * @throws IOException
  */
 public static String readURLToStringByPOST(URL url, String encoding,Map<String, String> params)
 throws IOException {
  HttpURLConnection con = null;
  // 構建請求參數(shù)
  StringBuffer sb = new StringBuffer();
  if (params != null) {
   for (Entry<String, String> e : params.entrySet()) {
    sb.append(e.getKey());
    sb.append("=");
    sb.append(e.getValue());
    sb.append("&");
   }
   if(sb.length()>0){
    sb.substring(0, sb.length() - 1);
   }
  }
  // 嘗試發(fā)送請求
  try {
   con = (HttpURLConnection) url.openConnection();
   con.setRequestMethod("POST");
   con.setDoOutput(true);
   con.setDoInput(true);
   con.setUseCaches(false);
   con.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
   OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(),encoding);
   if (params != null) {
    osw.write(sb.toString());
   }
   osw.flush();
   osw.close();
  } catch (Exception e) {
   LogFactory.getLog(FileUtils.class).error("POST("+url.toString()+")Error("+e.getMessage()+")",e);
  } finally {
   if (con != null) {
    con.disconnect();
   }
  }
  // 讀取返回內容
  StringBuffer buffer = new StringBuffer();
  try {
   BufferedReader br = new BufferedReader(new InputStreamReader(con
     .getInputStream(),encoding));
   String temp;
   while ((temp = br.readLine()) != null) {
    buffer.append(temp);
    buffer.append("\n");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }

  return buffer.toString();
 }

相關文章

  • springboot 多環(huán)境配置教程

    springboot 多環(huán)境配置教程

    這篇文章主要介紹了springboot 常用配置之多環(huán)境配置,需要的朋友可以參考下
    2018-04-04
  • 解決spring AOP中自身方法調用無法應用代理的問題

    解決spring AOP中自身方法調用無法應用代理的問題

    這篇文章主要介紹了解決spring AOP中自身方法調用無法應用代理的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Servlet關于RequestDispatcher的原理詳解

    Servlet關于RequestDispatcher的原理詳解

    這篇文章主要介紹了Servlet關于RequestDispatcher的原理詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • Java 線程池框架

    Java 線程池框架

    本文主要介紹了Java 線程池框架的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • java基本教程之join方法詳解 java多線程教程

    java基本教程之join方法詳解 java多線程教程

    本文對java Thread中join()方法進行介紹,join()的作用是讓“主線程”等待“子線程”結束之后才能繼續(xù)運行,大家參考使用吧
    2014-01-01
  • java異常處理的簡單練習

    java異常處理的簡單練習

    下面小編就為大家?guī)硪黄猨ava異常處理的簡單練習。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 詳解JAVA中的Collection接口和其主要實現(xiàn)的類

    詳解JAVA中的Collection接口和其主要實現(xiàn)的類

    這篇文章主要介紹了JAVA中的Collection接口和其主要實現(xiàn)的類,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Java常用的時間類以及其轉化方式

    Java常用的時間類以及其轉化方式

    這篇文章主要介紹了Java常用的時間類以及其轉化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • ElasticSearch查詢文檔基本操作實例

    ElasticSearch查詢文檔基本操作實例

    這篇文章主要為大家介紹了ElasticSearch查詢文檔基本操作實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • SpringBoot全局異常處理與定制404頁面的方法

    SpringBoot全局異常處理與定制404頁面的方法

    這篇文章主要介紹了SpringBoot全局異常處理與定制404頁面的相關資料,本文通過實例代碼圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2007-09-09

最新評論