解决java用url中读取html源码时的乱码问题
来源:互联网 发布:飞狐软件官网 编辑:程序博客网 时间:2024/06/07 16:42
1、主要应用getContentType获取相应的网页编码方式:
pageUrl=new URL(urlString);
HttpURLConnection uc = (HttpURLConnection) pageUrl.openConnection();
String encoding=uc.getContentType();
2、再提取charset子串(这里使用"charset=",由于网页中的大小写不敏感,所以最好用正则表达式修改一下)
encoding=encoding.substring(encoding.indexOf("charset=")+8).trim();
//System.out.println("+"+encoding+"+");
// 创建网络流
BufferedReader reader=
new BufferedReader(new InputStreamReader(pageUrl.openStream(),encoding));
3、下面是源代码,注释的很清楚:
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 import java.io.UnsupportedEncodingException; 5 import java.net.HttpURLConnection; 6 import java.net.MalformedURLException; 7 import java.net.URL; 8 9 public class PageString {10 private StringBuffer strBuf=new StringBuffer();11 private URL pageUrl=null;12 public PageString(String urlString){13 try {14 //System.out.println(urlString);15 pageUrl=new URL(urlString);16 try {17 //获取网页的编码方式,这里可以解决乱码问题18 HttpURLConnection uc = (HttpURLConnection) pageUrl.openConnection();19 String encoding=uc.getContentType();20 encoding=encoding.substring(encoding.indexOf("charset=")+8).trim();21 //System.out.println("+"+encoding+"+");22 // 创建网络流23 BufferedReader reader=24 new BufferedReader(new InputStreamReader(pageUrl.openStream(),encoding));25 String line;26 // 读取网页内容27 //new StringBuffer();28 while((line=reader.readLine())!=null){29 //System.out.println(line);30 strBuf.append(line+"\t\n");31 }32 } catch (IOException e) {33 // TODO Auto-generated catch block34 e.printStackTrace();35 }36 } catch (MalformedURLException e) {37 // TODO Auto-generated catch block38 e.printStackTrace();39 }40 }41 public StringBuffer getStrBuf() throws UnsupportedEncodingException {42 //System.out.println(new String(strBuf.toString().getBytes("gb2312")).toString());43 return this.strBuf;44 }45 }
- 解决java用url中读取html源码时的乱码问题
- 解决Java中URL传递中文参数时出现乱码的问题
- Java 解决FileInputStream读取中文时乱码的问题
- 解决java中url传参中文乱码问题
- java 中解决url参数传递中文乱码问题
- 【java细节】解决JAVA中URL传中文的乱码问题
- android url中中文参数乱码问题的解决
- 在url中有中文乱码问题的解决
- 解决java从url传来的参数乱码问题
- Java解决URL中文乱码问题的文章
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 解决Java Web开发中Jsp存储读取MySQL数据中文乱码的问题
- 解决tomcat中url乱码问题
- 解决URL中参数乱码问题
- 解决url中文传参乱码问题
- 关于解决URL中中文乱码问题
- 读取properties文件以及解决读取时的乱码问题
- OpenSessionInViewFilter失效问题
- 利用微软翻译API做自己的翻译的工具(java)
- mybatis学习(二)
- windows下hadoop伪分布式模式开发环境的搭建(Cygwin)以及Eclipse集成开发环境下的搭建
- 毕业设计想做一个垂直搜索引擎,关于手机方面
- 解决java用url中读取html源码时的乱码问题
- 用java写的TrieTree
- 另一个博客
- java数据结构表的学习
- 关于java控制台输入(转载)
- Mac 下的几个抓包工具
- 52 链表处理*
- MapReduce Design Patterns(chapter 5 (part 2))(十)
- 呜呜 写的代码被弃用了 放到这里 留个纪念