版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38225558/article/details/82563082
文本扫描器Scanner:主要用来扫描 文本
Scanner implments Iterator[ hasNext Next]: 一个Scanner 可以通过迭代的方式,将一个文本的数据,全部迭代出来
Scanner(File source) :扫描的指定的文件
Scanner(InputStream source) :扫描指定的输入流
Scanner(String source) :扫描指定的字符串
注意:Scanner 采用的分隔符模式,默认的分隔符是空白,言外之意我们可以自己指定分隔符(支持正则表达式规则)。
ex1:
/**
* 文本扫描器Scanner:主要用来扫描 文本
* Scanner implments Iterator[ hasNext Next]: 一个Scanner 可以通过迭代的方式,将一个文本的数据,全部迭代出来
*
* Scanner(File source) :扫描的指定的文件
* Scanner(InputStream source) :扫描指定的输入流
* Scanner(String source) :扫描指定的字符串
*
* 注意:Scanner 采用的分隔符模式,默认的分隔符是空白,言外之意我们可以自己指定分隔符(支持正则表达式规则)。
* @author 郑清
*/
public class Demo {
public static void main(String[] args) throws FileNotFoundException {
//①:扫描的指定的文件========================================================================
Scanner scanner = new Scanner(new File("D:1/1/1.txt"));
/*while(scanner.hasNext()){ //boolean hasNext():如果此扫描器的输入中有另一个标记,则返回 true。 (即判断文件中是否还有内容)
System.out.println(scanner.next());//String next() :查找并返回来自此扫描器的下一个完整标记。 (这里空白作为分隔符分隔内容)
}*/
while(scanner.hasNextLine()){//boolean hasNextLine() : 如果在此扫描器的输入中存在另一行,则返回 true。
System.out.println(scanner.nextLine());//一行一行输出内容
}
scanner.close();
//②:扫描指定的输入流========================================================================
Scanner scanner2 = new Scanner(new FileInputStream("D:1/1/1.txt"));
while(scanner2.hasNextLine()){
System.out.println(scanner2.nextLine());
}
scanner2.close();
//③:扫描指定的字符串:注意字符串不是在指定资源[默认分隔符,空白]==========================================
Scanner scanner3 = new Scanner("123 5 688789 121");
while(scanner3.hasNext()){
System.out.println(scanner3.next());//空白作为分隔符,没遇到一处空白就换行
}
scanner3.close();
}
}
ex2:自定义分隔符
public class Demo {
public static void main(String[] args) throws FileNotFoundException {
Scanner scanner = new Scanner("12分35688分789分121");
//自定义分隔符
scanner.useDelimiter("分");
while(scanner.hasNext()){
System.out.println(scanner.next());//空白作为分隔符,没遇到一处空白就换行
}
scanner.close();
}
}
运行结果图: