您的主要问题是要传递给的分隔符字符串
Scanner.useDelimiter()
. 该方法需要一个
那管子呢(
|
)在此上下文中,字符恰好是保留字符,这意味着您需要对其进行转义,即调用如下方法:
sc.useDelimiter("\\|");
Scanner
用于从文本行解析Id。
String.split()
足够了:
private void parseId(String str) {
String[] tokens = str.split("\\|");
for (int i = 0; i < tokens.length; i++) {
if (tokens[i].equals("ID")) {
String idValue = tokens[i + 1]; // this will throw an error if
// there is nothing after ID on
// the row
System.out.println("Id is " + idValue);
break;
}
}
}