Scanner是新增的一个简易文本扫描器,在 JDK 5.0之前,是没有的。查看最新在线文档:

  1. public final class Scanner
  2. extends Object
  3. implements Iterator<String>, Closeable

可见,Scanner是没有子类的。

在JDK API关于Scanner提供了比较多的构造方法与方法。那么现在列出一些在平时工作中比较常用的方法,仅供大家参考:

构造方法:

  1. public Scanner(File source) throws FileNotFoundException
  2. public Scanner(String source)
  3. public Scanner(InputStream source) //用指定的输入流来创建一个Scanner对象

方法:

  1. public void close()    //关闭
  2. public Scanner useDelimiter(String pattern) //设置分隔模式 ,String可以用Pattern取代
  3. public boolean hasNext() //检测输入中,是否,还有单词
  4. public String next()   //读取下一个单词,默认把空格作为分隔符
  5. public String nextLine()  //读行
  6. 注释:从hasNext(),next()繁衍了大量的同名不同参方法,这里不一一列出,感兴趣的,可以查看API

以下一个综合例子:

    1. package com.ringcentral.util;
    2. import java.util.*;
    3. import java.io.*;
    4. /**
    5. * author @dylan
    6. * date   @2012-5-27
    7. */
    8. public class ScannerTest {
    9. public static void main(String[] args) {
    10. file_str(true);
    11. reg_str();
    12. }
    13. /**
    14. *
    15. * @param flag : boolean
    16. */
    17. public static void file_str(boolean flag){
    18. String text1= "last summber ,I went to the italy";
    19. //扫描本文件,url是文件的路径
    20. String url = "E:\\Program Files\\C _ Code\\coreJava\\src\\com\\ringcentral\\util\\ScannerTest.java";
    21. File file_one = new File(url);
    22. Scanner sc= null;
    23. /*
    24. * 增加一个if语句,通过flag这个参数来决定使用那个构造方法。
    25. * flag = true :输入结果为本文件的内容。
    26. * flag = false :输入结果为 text1的值。
    27. */
    28. if(flag){
    29. try {
    30. sc =new Scanner(file_one);
    31. } catch (FileNotFoundException e) {
    32. e.printStackTrace();
    33. }
    34. }else{
    35. sc=new Scanner(text1);
    36. }
    37. while(sc.hasNext())
    38. System.out.println(sc.nextLine());
    39. //记得要关闭
    40. sc.close();
    41. }
    42. public static void reg_str(){
    43. String text1= "last summber 23 ,I went to 555 the italy 4 ";
    44. //如果你只想输入数字:23,555,4;可以设置分隔模式,把非数字进行过滤。
    45. Scanner sc = new Scanner(text1).useDelimiter("\\D\\s*");
    46. while(sc.hasNext()){
    47. System.out.println(sc.next());
    48. }
    49. sc.close();
    50. }
    51. }
  1. public static void input_str(){
  2. Scanner sc = new Scanner(System.in);
  3. System.out.println(sc.nextLine());
  4. sc.close();
  5. System.exit(0);
  6. }

java.util.Scanner的日常用法的更多相关文章

  1. java中scanner类的用法

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检 ...

  2. java.util.Scanner简单应用

    import java.util.Scanner; import java.io.*; public class FileScannerTest{ public static void main(St ...

  3. import java.util.Scanner;

    一.扫描控制台输入     当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,,,,,,,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象 ...

  4. java.util.Scanner应用详解++扫描控制台输入

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  5. (转)java.util.Scanner应用详解

    java.util.Scanner应用详解   java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java ...

  6. java.util.Scanner

    java.util.Scanner是Java5的新特征,主要功能是简化文本扫描.这个类最实用的地方表现在获取控制台输入,其他的功能都很鸡肋,尽管Java API文档中列举了大量的API方法,但是都不怎 ...

  7. java.util.Scanner中hasNext()方法和next()方法的区别

    先说结论: 两者均根据空格划分数据 两者在没有数据输入时均会等待输入 next()方法会将空格划分的数据依次输出,运行一次,输出一个 hasNext()方法会跟着next()方法移动,当前数据不为空, ...

  8. 转:java中scanner类的用法

    声明:本文转自百度经验:http://jingyan.baidu.com/article/e73e26c0c74a1f24adb6a7fb.html Scanner是SDK1.5新增的一个类,可是使用 ...

  9. 【转】java.util.Arrays.asList 的用法

    DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...

随机推荐

  1. knockout 绑定 jquery ui datepicker (转)

    ko.bindingHandlers.datepicker = { init: function(element, valueAccessor, allBindingsAccessor) { //in ...

  2. 读取Excel任务列表并显示在Outlook日历上

    前几天,公司发了一个任务安排,时间不固定,但要求准时到,为了给自己加一个提醒,也为了回顾一下以前的技术,特做了一个Demo. 读取Excel就不多说了,代码很简单,但支持老版本Excel和的版本Exc ...

  3. 【转】10分钟搭建NDK的Android开发环境

    原文网址:http://blog.csdn.net/u012176591/article/details/23018913 作者:金良(golden1314521@gmail.com) csdn博客: ...

  4. ToString() 格式化字符串

    例如i=: i.ToString().PadLeft(,'); 固定长度为10,左不足补0,结果为0000000001:

  5. 也用 Log4Net 之将自定义属性记录到文件中 (三)

    也用 Log4Net  之将自定义属性记录到文件中 (三)  即解决了将自定义属性记录到数据库之后.一个新的想法冒了出来,自定义属性同样也能记录到文件中吗?答案是肯定的,因为Log4Net既然已经考虑 ...

  6. 咨询内容: TF卡一定要重新买吗,为什么我的放进去读不了呢

    京东回复:您好!先科(SAST) SA-992 便携数码音响 (兰色)不用重新买,但是需要您采用FAT分区重新格式化,感谢您对京东的支持!祝您购物愉快!

  7. SDUT 3257 Cube Number 简单数学

    把所有数的立方因子除去,那么一个数可以和它组成立方的数是确定的,统计就行 #include <cstdio> #include <iostream> #include < ...

  8. MFC菜单、工具栏和状态栏

    菜单:CMenu类 CMenu类的主要成员函数 BOOL LoadMenu(UINT nIDResource); 加载菜单资源,并将其附加到CMenu对象上.参数nIDResource指定了要加载的菜 ...

  9. 平面上画n条直线,最多能将平面分成多少部分?

    转自:http://blog.csdn.net/cywosp/article/details/6724522 在一个平面上画1999条直线,最多能将这一平面划分成多少个部分? 没有直线时有一个空间:( ...

  10. Max Sub-matrix

    Max Sub-matrix 教练找的题目,目前样列过了 题意:找子矩阵的最大周长 思路:先离散每列,再枚举列(n*n),在当前枚举的两列之间求每行的和(n*n*n),但是开两个数组,一个包含两列上的 ...