java常用库学习总结(一)Scanner
好记性不如记下来多温习
java.util.Scanner
这个类可以说相当常见,是java5中添加的新类,用于扫描输入文本。
- 通常有三种构造方法:
Scanner(File source) //从指定文件扫描
Scanner(InputStream source (通常是System.in)) //从指定的输入流扫描
Scanner(String source) //从指定字符串扫描 - 一些常见的使用方法:
1,next(),nextInt(),nextDouble()…这些可以归为一类,相似点有:
1),如果遇到空格,Tab,Enter,会继续等待,直到获得相应类型相应的值;
2),当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描;
3),places the cursor(光标) in the same line after reading the input。
2,nextLine()
读取该行从光标处到行未的所有的内容,包括换行符,然后把焦点移动到下一行的开头。[注:会把空格,回车读出值为空]*
3,hasNext(),hasNext(Pattern pattern),hasNext(String pattern),hasNextInt() - 设置分隔符
默认情况下,Scanner是使用“空白”作为分隔符将输入分解为token,然后使用它所提供的不同的next方法将得到的token转换为不同的类型的值。然而也可以通过useDelimiter(Pattern pattern)和useDelimiter(String pattern)[该方法接受一个正则表达式,而不是普通 String]方法来自定义分隔符,如:
useDelimiter(","); //以','为分隔符,
useDelimiter("\n"); //“\n”换行符(回车)作为输入的分隔符,
String input = "1 apple red apple ";
Scanner s = new Scanner(input).useDelimiter("\\s*apple\\s*"); //\\s*表示空格出现0次或多次
System.out.println(s.nextInt()); //输出1
System.out.println(s.next()); //输出red