【发布时间】:2014-03-28 06:16:02
【问题描述】:
我正在通过以下方法读取缓冲阅读器的内容:
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();
}
我稍后会调用这个方法来测试-
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());
我的问题是,我在第一种方法中将 bufferedreader 的内容返回到一个字符串中,并在第二种方法中再次将这些 String 内容附加到 StringBuffer 中,然后读出它。这是正确的方法吗?我可以通过其他方式读取包含来自 url 的内容的字符串内容吗?请告知。
【问题讨论】:
-
BufferedReader#readLine有什么问题吗? -
不,不是重复的。
-
@RC - 请先阅读问题,然后再将其标记为重复,并投票决定关闭它!
-
@rickygrimes 我用我的选票做我想做的事。我认为这是重复的,而您没有(这是您的权利)。这可能就是为什么一个问题需要 5 票才能关闭为重复
标签: java