gpt4 book ai didi

java - 如何在java中使用streamtokenizer检测空行

转载 作者:行者123 更新时间:2023-12-01 14:18:32 24 4
gpt4 key购买 nike

大家好,我正在使用包含

的流分词器解析文本文件

Z

<强>

Z(ze;在英国通常是 zêd,在美国有时是 zêd;以前,另外,îz"zêrd)

<强>

Defn:Z,英文字母表中的第二十六个也是最后一个字母,是一个发声辅音。它取自拉丁字母 Z,它来自来自希腊字母,这来自闪族语源。这最终起源可能是埃及。从词源学上来说,它是最与 s、y 和 j 密切相关;如玻璃、釉料; E.轭,Gr。尤古姆; E. 热心、嫉妒。请参阅发音指南,§§ 273, 274。

我的代码

 public int[] getlineno(){
try {
BufferedReader in = new BufferedReader(new FileReader(url));
StreamTokenizer st = new StreamTokenizer(in);
st.eolIsSignificant(true);
Vector v=new Vector();
st.commentChar('#');
scan:
while (true) {
switch (st.nextToken()) {
case StreamTokenizer.TT_EOF:
break scan;

case StreamTokenizer.TT_WORD:
break;

case StreamTokenizer.TT_NUMBER:
break;

default:
if(st.sval==null){
System.out.println(i+" "+st.sval);
v.add(st.lineno());
}break;

}
}
int linesno[]=new int[v.size()];
for(int i=0;i<v.size();i++){
int line=Integer.parseInt(v.get(i).toString());
linesno[i]=line;
}
return linesno;
} catch (Exception ex) {
return null;
}

}

请帮我使用streamtokenizer.class检测空行

最佳答案

有一种形式的 StringTokenizer 构造函数,它接受字符串、分隔符列表和一个 boolean 值,该 boolean 值指示分隔符是否应作为 token 本身返回。如果您使用这种形式的构造函数,则 nextToken() 方法将按照正确的顺序将换行符(假设它是分隔符之一)与其他标记一起返回到您的代码。您必须添加逻辑来确定哪些标记是分隔符,哪些是“真实”标记。

关于java - 如何在java中使用streamtokenizer检测空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com