FileUtils扩展readURLtoString读取url内容_Java教程-查字典教程网
FileUtils扩展readURLtoString读取url内容
FileUtils扩展readURLtoString读取url内容
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:/***因为FileUtils不支持,所以添加个方法Stringcontent=*FileUtils.readFileTo...

复制代码 代码如下:

/**

* 因为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(

* "http://www.baidu.com")), "gb2312");

* </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,可指定多个参数)

* @param url

* @param encoding

* @param params map的参数(key为参数名,value为参数值)

* @return String

* @throws IOException

*/

public static String readURLToStringByPOST(URL url, String encoding,Map<String, String> params)

throws IOException {

HttpURLConnection con = null;

// 构建请求参数

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);

}

}

// 尝试发送请求

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();

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类