import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.util.Scanner;
public class ScannerTest {
public static Scanner sc = null;
// scanner是jdk1.5的工具类,在1.4中使用字符包装流(BufferedReader)来读取键盘输入
// System.in是字节流,InputStreamReader是转换流
// 与scanner的区别是,bufferedReader只能读取String对象,不能读取其他基本类型的输入项
public static void fromKey0() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (br.readLine() != null) {
System.out.println("键盘输入的内容:"+br.readLine());
}
}
// 从键盘输入int,只会获取键盘输入的int类型,其他的类型不会打印
public static void fromKeyInt() {
sc = new Scanner(System.in);
while (sc.hasNextInt()) {
System.out.println("键盘输入的内容:"+sc.nextInt());
}
}
// 从键盘输入的内容,将空格等空白视为输入项的分隔符
public static void fromKey() {
sc = new Scanner(System.in);
while (sc.hasNext()) {
System.out.println("键盘输入的内容:"+sc.next());
}
}
// 修改分隔符为"\n",这样除非输入回车换行,否则会当作一个输入项来处理
public static void fromKey1() {
sc = new Scanner(System.in);
sc.useDelimiter("\n");
while (sc.hasNext()) {
System.out.println("键盘输入的内容:"+sc.next());
}
}
// 同样的,scanner也可以从文件中读取内容,nextLine()可以每次读取一行,和上面设置分隔符为"\n"是同样的效果
public static void fromFile() throws Exception {
sc = new Scanner(new File("c:\\bcmwl5.log"));
while (sc.hasNextLine()) {
System.out.println("文件中的内容:"+sc.nextLine());
}
}
public static void main(String[] args) throws Exception{
fromKeyInt();
//fromFile();
//fromKey();
//fromKey1();
}
}