應用過程中哮肚,java中scanner提供的方法雖多认轨,但是實用的沒有幾個,
總結如下:
1挨队、獲取字符串的長度
length()
2 、判斷字符串的前綴或后綴與已知字符串是否相同
前綴 startsWith(String s)
后綴 endsWith(String s)
3蒿往、比較兩個字符串
equals(String s)
4盛垦、把字符串轉化為相應的數值
int 型 Integer.parseInt(字符串)
long 型 Long.parseLong(字符串)
float 型 Folat.valueOf(字符串).floatValue()
double 型 Double.valueOf(字符串).doubleValue()
5、將數值轉化為字符串
valueOf(數值)
6瓤漏、字符串檢索
indexOf(Srting s) 從頭開始檢索
indexOf(String s ,int startpoint) 從startpoint 處開始檢索
如果沒有檢索到腾夯,將返回-1
7、得到字符串的子字符串
substring(int startpoint) 從startpoint 處開始獲取
substring(int start,int end) 從start 到end 中間的字符
8蔬充、替換字符串中的字符,去掉字符串前后空格
replace(char old,char new) 用new 替換old
trim()
9蝶俱、分析字符串
StringTokenizer(String s) 構造一個分析器,使用默認分隔字符(空格饥漫,換行榨呆,回車,Tab庸队,進紙符)
StringTokenizer(String s,String delim) delim是自己定義的分隔符
nextToken() 逐個獲取字符串中的語言符號
boolean hasMoreTokens() 只要字符串還有語言符號將返回true积蜻,否則返回false
countTokens() 得到一共有多少個語言符號
@parm 在處理多個文件,或者說有規(guī)律文件時皿哨。同時需要截取多個數據在集合中做處理浅侨。讀取的辦法 走單行讀取 后期處理麻煩,我的建議是使用正則表達式
優(yōu)點:省時省力
涉及到的類
StringTokenizer
String
pattern
matcher证膨;
···
package core.java.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
@author DGW
@date 2017 2017年4月16日 下午3:21:02
-
@filename ScannerClass.java
/
@SuppressWarnings("unused")
public class ScannerClass {
public static void main(String[] args) throws FileNotFoundException {
/
* StringTokenizer(String s) 構造一個分析器如输,
* 使用默認分隔字符(空格,換行央勒,回車不见,Tab,進紙符)
* 在處理有規(guī)律的文件數據時崔步,可以采用分析字符串p
*/
String str="123123,21321213,2321321";
StringTokenizer tokenizer = new StringTokenizer(str);
while (tokenizer.hasMoreElements()) {
System.out.println(tokenizer.nextToken(","));
}//替代方法2 第二參數可以指定分割的個數 String[] split = str.split(",",2); for (int i = 0; i < split.length; i++) { System.out.println(split[i]); } //理由正則表達式匹配 String rex="\\,"; Pattern pattern=Pattern.compile(rex); String[] strings = pattern.split(str); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); } Matcher matcher = pattern.matcher(str); System.out.println(matcher.find());
}
public static void example2() throws FileNotFoundException {
/*
* 掃描文件輸出
*/
FileInputStream fileInput = new FileInputStream(
new File("E:\WorkSpace\JavaCoreApi\src\core\java\lang\StringClass.java"));
Scanner input = new Scanner(fileInput);
while (input.hasNext()) {
System.out.println(input.next());
}
input.close();
}private static void example1() {
/*
* 模擬控制臺輸出
*/
Scanner input = new Scanner(System.in);
while (true) {
String line = input.nextLine();
if (line.equals("exit"))
break;
System.out.println("------>" + line);} input.close();
}
}
···