未知数据

从头看Java

   ::  :: 联系 :: 聚合  :: 管理
  28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

1. Scanner是jdk1.5新增的工具类,jdk1.4以前使用字符流来实现
2. Scanner可以方便的获取用户的键盘输入
3. Scanner是一个基于正则表达式的文本扫描器,可以从文件,输入流,字符串中解析出基本类型值和字符串值.
4. Scanner主要使用两个方法来扫描输入
hasNextXxx():是否还有下一个输入项.如果是字符串可以省略XXX
nexXXX():获取下一个输入项.
5. Scanner默认使用空白(包括空格,tab空白和回车等)作为多个输入项之间的分隔符.可以使用useDelimiter()修改分隔符.   

代码清单:

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.util.Scanner;
 
public class ScannerTest {
    
    public static Scanner sc = null;
    
    // scanner是jdk1.5的工具类,在1.4中使用字符包装流(BufferedReader)来读取键盘输入
    // System.in是字节流,InputStreamReader是转换流
    // 与scanner的区别是,bufferedReader只能读取String对象,不能读取其他基本类型的输入项
    public static void fromKey0() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        while (br.readLine() != null) {
            System.out.println("键盘输入的内容:"+br.readLine());
        }
    }
    
    // 从键盘输入int,只会获取键盘输入的int类型,其他的类型不会打印
    public static void fromKeyInt() {
        sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            System.out.println("键盘输入的内容:"+sc.nextInt());
        }
    }
 
    // 从键盘输入的内容,将空格等空白视为输入项的分隔符
    public static void fromKey() {
        sc = new Scanner(System.in);
        while (sc.hasNext()) {
            System.out.println("键盘输入的内容:"+sc.next());
        }
    }
    
    // 修改分隔符为"\n",这样除非输入回车换行,否则会当作一个输入项来处理
    public static void fromKey1() {
        sc = new Scanner(System.in);
        sc.useDelimiter("\n");
        while (sc.hasNext()) {
            System.out.println("键盘输入的内容:"+sc.next());
        }
    }
    
    // 同样的,scanner也可以从文件中读取内容,nextLine()可以每次读取一行,和上面设置分隔符为"\n"是同样的效果
    public static void fromFile() throws Exception {
        sc = new Scanner(new File("c:\\bcmwl5.log"));
        while (sc.hasNextLine()) {
            System.out.println("文件中的内容:"+sc.nextLine());
        }
    }
    
    public static void main(String[] args) throws Exception{
        
        
        fromKeyInt();
        //fromFile();
        //fromKey();
        //fromKey1();
 
    }
 
}
posted on 2009-02-03 08:50 wangjc 阅读(2994) 评论(0)  编辑  收藏 所属分类: 从头看Java

只有注册用户登录后才能发表评论。


网站导航: