未知數據

          從頭看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 閱讀(3001) 評論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 大方县| 建湖县| 垣曲县| 西丰县| 河津市| 潜江市| 韩城市| 辽阳县| 岱山县| 金华市| 招远市| 涿州市| 满洲里市| 文安县| 炉霍县| 富阳市| 杭锦后旗| 裕民县| 溆浦县| 苏尼特右旗| 枣庄市| 岗巴县| 东辽县| 贵州省| 邮箱| 开封县| 萨嘎县| 多伦县| 莱州市| 河源市| 常宁市| 莎车县| 中西区| 任丘市| 江城| 丰都县| 麻江县| 饶平县| 新泰市| 抚顺市| 米脂县|