BufferedReader一次读取多少字符到缓冲区,效率高
inputstream则是一个一个字节的读,每次要产生io操作,效率不高
inputstreamReader则是一个字符的读
// 注意这里的编码问题,读取时我们要采用 被读取文件的编码方式,输出时我们采用的是系统默认的编码方式
// UTF-8 是国际编码 ,GBK 是中文编码 ,现在很多软件和文件都采用国际编码方式,要注意
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream(),"UTF-8"));
BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
一般用法:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
String data = null;
while((data = br.readLine())!=null)
{
System.out.println(data);
}
示例如下:
public static String getHtml(String url) throws IOException {
String source ="";
String line ="";
URL _url = new URL(url);
InputStream inStream = _url.openStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inStream,"UTF-8"));
while((line = bufferedReader.readLine())!=null) {
source += line;
}
return source;
}