I am reading the contents of buffered reader in the below method:
public static String readBuffer(Reader reader, int limit) throws IOException 
{           
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < limit; i++) {
        int c = reader.read();
            if (c == -1) {
                return ((sb.length() > 0) ? sb.toString() : null);
            }
        if (((char) c == '\n') || ((char) c == '\r')) {
            break;
    }
        sb.append((char) c);
}
    return sb.toString();
}   
I am invoking this method later to test -
URL url = new URL("http://www.oracle.com/");
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));        
    StringBuffer sb = new StringBuffer();
    String line=null;
    while((line=readBuffer(in, 2048))!=null) {
        sb.append(line);
    }
    System.out.println(sb.toString());
My question here is, I am returning the contents of bufferedreader into a string in my first method, and appending these String contents into a StringBuffer again in the second method, and reading out of it. Is this the right way? Any other way I can read the String contents that has contents from url?Please advise.