Java之文本扫描器Scanner

版权声明:本文为博主原创文章,未经博主允许不得转载。 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();
	}

}

运行结果图:

猜你喜欢

转载自blog.csdn.net/qq_38225558/article/details/82563082