java.util.Scanner的日常用法
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.util.Scanner的日常用法的更多相关文章
- java中scanner类的用法
在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...
- java.util.Scanner简单应用
import java.util.Scanner; import java.io.*; public class FileScannerTest{ public static void main(St ...
- import java.util.Scanner;
一.扫描控制台输入 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,,,,,,,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象 ...
- java.util.Scanner应用详解++扫描控制台输入
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- (转)java.util.Scanner应用详解
java.util.Scanner应用详解 java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...
- java.util.Scanner
java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...
- java.util.Scanner中hasNext()方法和next()方法的区别
先说结论: 两者均根据空格划分数据 两者在没有数据输入时均会等待输入 next()方法会将空格划分的数据依次输出,运行一次,输出一个 hasNext()方法会跟着next()方法移动,当前数据不为空, ...
- 转:java中scanner类的用法
声明:本文转自百度经验:http://jingyan.baidu.com/article/e73e26c0c74a1f24adb6a7fb.html Scanner是SDK1.5新增的一个类,可是使用 ...
- 【转】java.util.Arrays.asList 的用法
DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...
随机推荐
- [原]Unity3D深入浅出 - 新版粒子系统 (Shuriken)
Shuriken粒子系统是继Unity3.5版本之后推出的新版粒子系统,它采用了模块化管理,个性化的粒子模块配合粒子曲线编辑器使用户更容易创作出各种兵分复杂的粒子效果. 创建一个粒子系统的方式有两种: ...
- jquery 分页控件(一)
以前一直都是用别人的分页控件,虽然用得很爽,但总觉的还是自己写个小插件比较好,这个插件效果.代码等都有参照别人完成的控件.即便功能并不是那么完善,扩展性也不好,bug或许还很多.个人觉得,适合自己用就 ...
- jquery 图片手风琴效果
这篇主要是手风琴效果和无缝切换相结合,在Demo里的Demo3.html.Demo4.html. 手风琴原理比较简单,当鼠标经过的时候改变图片的路径,鼠标移到另一张图片时还原路径. 虽然原理简单,但是 ...
- Gen_event行为分析和实践
1.简介 Gen_event实现了通用事件处理,通过其提供的标准接口方法以及回调函数,在OTP里面的事件处理模块是由一块通用的事件管理器和任意数量的事件处理器,并且这些事件处理器可以动态的添加和删除. ...
- 55人班37人进清华北大的金牌教师之32条教育建言! z
他带的一个55人的班,37人考进清华.北大,10人进入剑桥大学.耶鲁大学.牛津大学等世界名校并获全额奖学金,其他考入复旦.南开等大学.不仅 如此,校足球冠军.校运动会总冠军.校网页设计大赛总冠军等6项 ...
- Linux shell命令
一.删除监听指定端口的进程: lsof -ti: 80 | xargs kill -9 -t: 输出pid -i:查看指定端口占用情况 二.查看可执行文件动态链接库相关信息 ldd <可执行文件 ...
- js中的new关键字都干了些什么?
new 操作符 在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在javascript中,我们将这类方式成为Pseudoclassic ...
- NOIP2006 作业调度方案
1. 作业调度方案 (jsp.pas/c/cpp) [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工 ...
- Code First 更新数据库结构
参考:http://blog.csdn.net/sxycxwb/article/details/12186159 0.删除之前的数据库 1.Run the Enable-Migrations comm ...
- 使用Dom4j生成xml文件
场景:使用dom4j生成以下xml文件 <?xml version="1.0" encoding="UTF-8"?> <result> ...