java中Scanner类读取文件或控制台输入

(1)读取文件中内容
jdk 5.0新增加了Scanner类,Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器,Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配(可以使用s.useDelimiter("Pattern || String")指定分隔符)。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
new.txt: java ejb jdk j2me spring jdk flex silverlight jdk j2me j2ee jdk c# asp.net
输出结果: java ejb j2me spring flex silverlight j2me j2ee c# asp.net

Java代码
  1. import java.io.*;   
  2. import java.util.Scanner;   
  3.   
  4. public class ScanXan {   
  5.     public static void main(String[] args) throws IOException {   
  6.         Scanner s = null;   
  7.         try {   
  8.             s = new Scanner(new BufferedReader(new FileReader("c:\\new.txt")));   
  9.             //使用字符串jdk作为分隔符   
  10.             s.useDelimiter("jdk");   
  11.             while (s.hasNext()) {   
  12.                 System.out.println(s.next());   
  13.             }   
  14.         } finally {   
  15.             if (s != null) {   
  16.                 s.close();   
  17.             }   
  18.         }   
  19.     }   
  20. }  

(2)读取控制台输入

import java.util.Scanner;

public class ScannerTest

{

public static void main(String[] args)

{
  Scanner s = new Scanner(System.in);
  //receive string
  String str = s.next();
 
  //receive integer
  Integer i = s.nextInt();
 
  //receive double
  Double d = s.nextDouble();
 
  System.out.println(str+i+d);
}
}

int x=scanner.nextInt();这表示只接收int类型的数据,如果输入其他的数据要出问题的

posted @ 2016-03-07 15:38  爱上胡萝卜的猴子  阅读(9027)  评论(0编辑  收藏  举报