JAVA Scanner類常用情況

JDK文檔說
一個可以使用正則表達式來解析基本類型和字符串的簡單文本掃描器。

常用API

  • hastNext() 如果此掃描器的輸入中有另一個標記,則返回 true。
  • hastNextLine() 如果在此掃描器的輸入中存在另一行,則返回 true。
  • next() 查找并返回來自此掃描器的下一個完整標記。
  • nextInt() 將輸入信息的下一個標記掃描為一個int,其他類型字符同理
  • useDelimiter(String pattern) 將此掃描器的分隔模式設置為從指定 String 構造的模式。、
  • 具體查API文檔

一 逐行掃描文本,并逐行輸出

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws FileNotFoundException {
        InputStream is = new FileInputStream(new File("E:\\workspace\\eclipsejava\\QQJIAJIA\\src\\com\\example\\qqjiajia\\LoginActivity.java"));
        Scanner mScanner = new Scanner(is);
        while(mScanner.hasNextLine()){
            System.out.println(mScanner.nextLine());
        }
    }
}

輸出

package com.example.qqjiajia;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

public class LoginActivity extends Activity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.login_activity);
    }
}

二 掃描控制臺輸入的文字

中文不行的

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner mScanner = new Scanner(System.in);
        
        while(true){
            String data = mScanner.nextLine();
            
            if(data.equals("end")){
                //設定結束的條件
                System.out.println("結束");
                break;
            }
            System.out.println(data);
        }
        
    }
}

三 分割文本

指定','號作為新的分割符,默認是空格

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner mScanner = new Scanner("iidid iind ooa,nnfnf 222,ddaf 3 3");
        mScanner.useDelimiter(",");//指定新的分隔符
        while(mScanner.hasNext()){
            System.out.println(mScanner.next());
        }
    }
}

輸出

iidid iind ooa
nnfnf 222
ddaf 3 3
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,937評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,523評論 0 17
  • 以前小時候知道三毛以為是那個《三毛流浪記》中的三毛,后來隨著年齡的增長和知識的增加才知道有個作家叫做三毛,慢慢地...
    慢慢醬閱讀 260評論 0 3