java.util.Scanner的日常用法
JAVA 用法 日常 util Scanner
2023-09-11 14:18:00 时间
Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档:
- public final class Scanner
- extends Object
- implements Iterator<String>, Closeable
可见,Scanner是没有子类的。
在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:
构造方法:
- public Scanner(File source) throws FileNotFoundException
- public Scanner(String source)
- public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象
方法:
- public void close() //关闭
- public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代
- public boolean hasNext() //检测输入中,是否,还有单词
- public String next() //读取下一个单词,默认把空格作为分隔符
- public String nextLine() //读行
- 注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以查看API
以下一个综合例子:
- package com.ringcentral.util;
- import java.util.*;
- import java.io.*;
- /**
- * author @dylan
- * date @2012-5-27
- */
- public class ScannerTest {
- public static void main(String[] args) {
- file_str(true);
- reg_str();
- }
- /**
- *
- * @param flag : boolean
- */
- public static void file_str(boolean flag){
- String text1= "last summber ,I went to the italy";
- //扫描本文件,url是文件的路径
- String url = "E:\\Program Files\\C _ Code\\coreJava\\src\\com\\ringcentral\\util\\ScannerTest.java";
- File file_one = new File(url);
- Scanner sc= null;
- /*
- * 增加一个if语句,通过flag这个参数来决定使用那个构造方法。
- * flag = true :输入结果为本文件的内容。
- * flag = false :输入结果为 text1的值。
- */
- if(flag){
- try {
- sc =new Scanner(file_one);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }else{
- sc=new Scanner(text1);
- }
- while(sc.hasNext())
- System.out.println(sc.nextLine());
- //记得要关闭
- sc.close();
- }
- public static void reg_str(){
- String text1= "last summber 23 ,I went to 555 the italy 4 ";
- //如果你只想输入数字:23,555,4;可以设置分隔模式,把非数字进行过滤。
- Scanner sc = new Scanner(text1).useDelimiter("\\D\\s*");
- while(sc.hasNext()){
- System.out.println(sc.next());
- }
- sc.close();
- }
- }
- public static void input_str(){
- Scanner sc = new Scanner(System.in);
- System.out.println(sc.nextLine());
- sc.close();
- System.exit(0);
- }
相关文章
- java笔记二:final关键字用法总结
- java中Object.equals()简单用法
- Java实现 LeetCode 376 摆动序列
- Java实现 LeetCode 239 滑动窗口最大值
- java实现第四届蓝桥杯连号区间数
- java实现角谷步数
- Java实现 蓝桥杯 基础练习 杨辉三角形
- Java 蓝桥杯 算法训练(VIP) 最大体积
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- Java - 配置Java环境
- java.lang.OutOfMemoryError: Java heap space 解决方法
- Atitit web httphandler的实现 java python node.js c# net php 目录 1.1. Java 过滤器 servelet1 1.2. Python的
- MybatisPlus出现Error querying database. Cause: java.lang.IndexOutOfBoundsException: Index: 6, Size: 6
- 【java】Java 包(package)
- 【Java技巧 第5章】Java中String的indexof()的用法
- java 中的 i=i++
- JAVA数组的定义及用法
- JAVA数组的定义及用法
- Java 8 lambda表达式示例
- Java
- Java中main方法中的String args[]的用法
- Java基础——System.exit(1) 和 system.exit(0)用法与作用
- 【java】Java 多态
- JAVA开发讲义(二)-Java程序设计之数据之谜三