简而言之:如何更改StreamTokenizer,以便它将输入文件中的每个字符拆分为令牌。
例如,如果我有以下输入:
1023021023584
如何读取它,以便每个单独的字符都可以保存到数组的特定索引?
问题来源:Stack Overflow
您必须按如下所示调用StreamTokenizer.resetSyntax()方法
public static void main(String[] args) {
try (FileReader fileReader = new FileReader("C:\\test.txt");){
StreamTokenizer st = new StreamTokenizer(fileReader);
st.resetSyntax();
int token =0;
while((token = st.nextToken()) != StreamTokenizer.TT_EOF) {
if(st.ttype == StreamTokenizer.TT_NUMBER) {
System.out.println("Number: "+st.nval);
} else if(st.ttype == StreamTokenizer.TT_WORD) {
System.out.println("Word: "+st.sval);
}else {
System.out.println("Ordinary Char: "+(char)token);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。