密码:
网络营销 it新闻 军事新闻 社会新闻 it技术 网站优化 游戏资讯 公司资讯
JAVA URL和URLConnection中文乱码利用数据流的解决方法测试成功
发布日期:2015-05-24 阅读数:2629 来源:金功呈公司网站建设工作室 由金功呈网站建设公司整理 【关闭】



urlconnection类举个例子吧,做一个获取网站源码的代码的测试案例(拷贝测试的时候注意调整大小写)见下:

public class urldemo {
 public static void main(string[] args) {
  //scanner scan = new scanner(system.in);
   
  //      system.out.println("请输入网址:");
  //string urlstr ="http://"+scan.next();

String urlstr="http://www.songhu9.com.cn";
  try {
   url url = new url(urlstr);        // 将urlstr字符串网址实例化为url定位地址s

   urlconnection urlconn = url.openconnection();   //打开网站链接s
   bufferedreader reader = new bufferedreader(new inputstreamreader(
     urlconn.getinputstream()));            //实例化输入流,并获取网页代码
   string s;                                         //依次循环,至到读的值为空
   stringbuilder sb = new stringbuilder();
   while ((s = reader.readline()) != null) {
    sb.append(s);     
   }
   reader.close();
   bufferedwriter bw = new bufferedwriter(new filewriter("d:1.html"));     //write写入文件(字节流)
   bw.write(sb.tostring());
   bw.flush();
   bw.close();
   system.out.println("另存为成功!");
  }

  catch (exception e) {
   // todo auto-generated catch block
   e.printstacktrace();
  }

 }

}



下面我们参考上面的方法,使用流的方式来处理中文乱码问题案例见下:


package   mynet; 
import   java.io.ioexception; 
import   java.io.inputstream; 
import   java.net.malformedurlexception; 
import   java.net.url; 
import   java.util.date;

import   sun.net.www.protocol.http.httpurlconnection;

public   class   urldemo   { 
public   static   void   main(string[]   args)   {

system.out.println( "starting... "); 
int   c;

httpurlconnection   urlcon   =   null; 
try   { 
url   url   =   new   url( "http://www.songhu9.com.cn"); 
try   { 
urlcon   =   (httpurlconnection)url.openconnection(); 
}   catch   (ioexception   e)   {


system.out.println( "the   date   is   : "   +   new   date(urlcon.getdate())); 
system.out.println( "content_type   : "   +   urlcon.getcontenttype()); 
try   { 
inputstream   in   =   urlcon.getinputstream(); 
int   all=   in.available(); 
byte[]   b=   new   byte[all]; 
//   while   (((c   =   in.read())   !=   -1))   { 
//   system.out.print((char)   c); 
//   } 
in.read(b); 
string   webpage   =   new   string(b, "utf-8 ");

in.read(b); 
string   webpage   =   new   string(b, "utf-8 "); 
in.close(); 
system.out.println(webpage); 
}   catch   (ioexception   e)   { 
system.out.println( " "   +   e); 
}

}   catch   (malformedurlexception   e)   { 
system.out.println( " "   +   e); 
}

}

}


广州金功呈网站建设网微信二维码
  • 深圳市一键一家网络科技有限公司官方网址:http://www.songhu9.com.cn
  • QQ:316675593,电话号码:19807655856
  • 业务范围:公司网站建设、管理软件研发、软件网站二次开发、400电话、电商平台研发、公众号研发!
  • 免责申明:本站内容均来源于网络,版权归原创所有,如有任何版权方面的问题,请与我们联系处理!