未知數(shù)據(jù)

          從頭看Java

             ::  :: 聯(lián)系 :: 聚合  :: 管理
            28 Posts :: 0 Stories :: 10 Comments :: 0 Trackbacks

          1. Scanner是jdk1.5新增的工具類,jdk1.4以前使用字符流來(lái)實(shí)現(xiàn)
          2. Scanner可以方便的獲取用戶的鍵盤(pán)輸入
          3. Scanner是一個(gè)基于正則表達(dá)式的文本掃描器,可以從文件,輸入流,字符串中解析出基本類型值和字符串值.
          4. Scanner主要使用兩個(gè)方法來(lái)掃描輸入
          hasNextXxx():是否還有下一個(gè)輸入項(xiàng).如果是字符串可以省略XXX
          nexXXX():獲取下一個(gè)輸入項(xiàng).
          5. Scanner默認(rèn)使用空白(包括空格,tab空白和回車等)作為多個(gè)輸入項(xiàng)之間的分隔符.可以使用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)來(lái)讀取鍵盤(pán)輸入
              // System.in是字節(jié)流,InputStreamReader是轉(zhuǎn)換流
              // 與scanner的區(qū)別是,bufferedReader只能讀取String對(duì)象,不能讀取其他基本類型的輸入項(xiàng)
              public static void fromKey0() throws Exception {
                  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                  while (br.readLine() != null) {
                      System.out.println("鍵盤(pán)輸入的內(nèi)容:"+br.readLine());
                  }
              }
              
              // 從鍵盤(pán)輸入int,只會(huì)獲取鍵盤(pán)輸入的int類型,其他的類型不會(huì)打印
              public static void fromKeyInt() {
                  sc = new Scanner(System.in);
                  while (sc.hasNextInt()) {
                      System.out.println("鍵盤(pán)輸入的內(nèi)容:"+sc.nextInt());
                  }
              }
           
              // 從鍵盤(pán)輸入的內(nèi)容,將空格等空白視為輸入項(xiàng)的分隔符
              public static void fromKey() {
                  sc = new Scanner(System.in);
                  while (sc.hasNext()) {
                      System.out.println("鍵盤(pán)輸入的內(nèi)容:"+sc.next());
                  }
              }
              
              // 修改分隔符為"\n",這樣除非輸入回車換行,否則會(huì)當(dāng)作一個(gè)輸入項(xiàng)來(lái)處理
              public static void fromKey1() {
                  sc = new Scanner(System.in);
                  sc.useDelimiter("\n");
                  while (sc.hasNext()) {
                      System.out.println("鍵盤(pán)輸入的內(nèi)容:"+sc.next());
                  }
              }
              
              // 同樣的,scanner也可以從文件中讀取內(nèi)容,nextLine()可以每次讀取一行,和上面設(shè)置分隔符為"\n"是同樣的效果
              public static void fromFile() throws Exception {
                  sc = new Scanner(new File("c:\\bcmwl5.log"));
                  while (sc.hasNextLine()) {
                      System.out.println("文件中的內(nèi)容:"+sc.nextLine());
                  }
              }
              
              public static void main(String[] args) throws Exception{
                  
                  
                  fromKeyInt();
                  //fromFile();
                  //fromKey();
                  //fromKey1();
           
              }
           
          }
          posted on 2009-02-03 08:50 wangjc 閱讀(3003) 評(píng)論(0)  編輯  收藏 所屬分類: 從頭看Java
          主站蜘蛛池模板: 宁明县| 张家川| 青神县| 镶黄旗| 永济市| 县级市| 左贡县| 栾城县| 遂川县| 钟祥市| 安龙县| 屯门区| 通辽市| 襄汾县| 安溪县| 政和县| 南昌县| 西充县| 柘城县| 汕头市| 来宾市| 钟祥市| 抚顺市| 龙胜| 宣汉县| 广水市| 舒城县| 鄂托克旗| 三原县| 南昌市| 云南省| 正定县| 浦县| 宁武县| 麻城市| 图木舒克市| 莫力| 宁都县| 威海市| 潮安县| 平远县|