手机
当前位置:查字典教程网 >编程开发 >Java >FileUtils扩展readURLtoString读取url内容
FileUtils扩展readURLtoString读取url内容
摘要:复制代码代码如下:/***因为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();

}

【FileUtils扩展readURLtoString读取url内容】相关文章:

深入java对象复制的分析

java通过url读取文件内容示例

深入解析Java中volatile关键字的作用

关于java编译过程中的bug说明

解析Java中如何获取Spring中配置的bean

如何用Java实现啥夫曼编码

java读取csv文件内容示例代码

基于Java实现缓存Cache的深入分析

java中的枚举类型详细介绍

基于序列化存取实现java对象深度克隆的方法详解

精品推荐
分类导航