scanner, BufferedReader, InputStreamReader 区别及特殊字符的输入
2017-02-13 20:48
411 查看
1. Scanner是一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器!也就是控制台应用程序最为常用的文本输入方式!Scanner取得输入数据的依据是空格符:如按下空格键,Tab键或者Enter键,Scanner就会返回下一个输入。所以说Scanner不能输入空格,如果你希望取得含有空格的字符串BufferedReader可以做到。
2. BufferedReader是字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取!速度要比Scanner快!而且也可以设置缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
3. BufferedReader 类
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;
}
4. InputStreamReader 类
是字节流通向字符流的桥梁,封裝了InputStream在里头, 它以较高级的方式,一次读取一个一个字符,以文本格式输入 / 输出,可以指定编码格式;
一般用法:
InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
while((ch = isr.read())!=-1)
{
System.out.print((char)ch);
}
示例如下:
public static String getHtmlSource( String url) throws MalformedURLException, IOException {
URLConnection uc = new URL(url).openConnection();
uc.setConnectTimeout(10000);
uc.setDoOutput(true);
InputStream in = new BufferedInputStream(uc.getInputStream());
InputStreamReader rd = new InputStreamReader(in,"gb2312");
int c = 0;
StringBuffer temp = new StringBuffer();
while((c = rd.read())!= -1){
temp.append((char)c);
}
in.close();
return temp.toString();
}
2. BufferedReader是字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取!速度要比Scanner快!而且也可以设置缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。
3. BufferedReader 类
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;
}
4. InputStreamReader 类
是字节流通向字符流的桥梁,封裝了InputStream在里头, 它以较高级的方式,一次读取一个一个字符,以文本格式输入 / 输出,可以指定编码格式;
一般用法:
InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
while((ch = isr.read())!=-1)
{
System.out.print((char)ch);
}
示例如下:
public static String getHtmlSource( String url) throws MalformedURLException, IOException {
URLConnection uc = new URL(url).openConnection();
uc.setConnectTimeout(10000);
uc.setDoOutput(true);
InputStream in = new BufferedInputStream(uc.getInputStream());
InputStreamReader rd = new InputStreamReader(in,"gb2312");
int c = 0;
StringBuffer temp = new StringBuffer();
while((c = rd.read())!= -1){
temp.append((char)c);
}
in.close();
return temp.toString();
}
相关文章推荐
- (第3讲)Java如何获得用户在控制台输入的东西(Scanner和BufferedReader的区别)
- Java笔记(7)-输入、输出流、File类、InputStream、Reader、文件字节流、文件字符流、缓冲流、随机流、数据流、对象流、序列化和对象克隆、Scanner解析文件、Console流
- java中的四大输入:System.in,Scanner,InputStreamReader,BufferesReader的用法与区别【改】
- java文件读取(按字符读+按字节读+缓冲读取)FileReader FileInputStream BufferedReader
- [Java] new BufferedReader(new InputStreamReader(System.in)) 从控制台输入
- Java 之 FileReader FileInputStream InputStreamReader BufferedReader 作用与区别
- BufferedReader和inputstream和Scanner的解释和比较
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
- java BufferedReader和InputStreamReader的区别
- Java -- 键盘输入 Scanner, BufferedReader。 系统相关System,Runtime。随机数 Randrom。日期操作Calendar
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader的使用和区别
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
- FileReader FileInputStream InputStreamReader BufferedReader 作用与区别
- FileReader, FileInputStream,InputStreamReader,BufferedReader区别
- InputStream 、 InputStreamReader 、 BufferedReader的区别
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader 的使用和区别
- java 简单的输入BufferedReader和Scanner
- File,FileInputStream,FileReader,InputStreamReader,BufferedReader的使用和区别
- Java学习笔记-Scanner和BufferedReader的区别和用法