import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class UrlReader  {
    private String urlName = null;
    private String  urlString = new String();
    private String temp = new String();
    public UrlReader(String urlName){      
     this.urlName = urlName;
    }
public String Read(){
try{
URL baiduURL = new URL(urlName);
URLConnection c = baiduURL.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(c.getInputStream()));
while (reader.readLine()!=null){
temp = reader.readLine();
urlString.concat(temp);
temp = null ;
}
reader.close();

}catch(IOException e){
e.getStackTrace();
}

    return urlString;
    }   
   
}这个是主类
public class Test {
public static void main(String[] args){
String a = new String("http://www.baidu.com");
UrlReader reader = new UrlReader(a);
String b = reader.Read();
    System.out.print(b);
}}

解决方案 »

  1.   

    (1) private String  urlString = new String();
        private String temp = new String();
    头一回见这种写法
    (2)
    while (reader.readLine()!=null){
          temp = reader.readLine();
    读了两行,丢了一行
    (3)urlString.concat(temp);
    是不是可以换用StringBuilder.append()呢?
      

  2.   


    while (reader.readLine()!=null){
                    temp = reader.readLine();
                    urlString.concat(temp);
                    temp = null ;
                }
    改成String temp ;
    while ((temp = reader.readLine())!=null){
                    urlString = urlString.concat(temp);
                }
    估计是你想要的结果吧。。
      

  3.   

    = - 谢谢 我新人 闭门造车ing
      

  4.   

    啊 还有 不是读两行丢一行 目前的问题是 一行也print不出来
      

  5.   


    while (reader.readLine()!=null){
                    temp = reader.readLine();//刚刚那行不为空,这里又读了一行,但这行不一定不为空
                    urlString.concat(temp);
                    temp = null ;
                }
      

  6.   

    楼上的谢谢了 不但有这个问题 其实还有urlString没有初始化 = = !