应用过程中,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 在处理多个文件,或者说有规律文件时。同时需要截取多个数据在集合中做处理。读取的办法 走单行读取 后期处理麻烦,我的建议是使用正则表达式
优点:省时省力
涉及到的类
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,进纸符)
* 在处理有规律的文件数据时,可以采用分析字符串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();
}
}
···
网友评论