开发者社区> 问答> 正文

StreamTokenizer-如何将每个字符拆分为令牌

简而言之:如何更改StreamTokenizer,以便它将输入文件中的每个字符拆分为令牌。

例如,如果我有以下输入:

1023021023584

如何读取它,以便每个单独的字符都可以保存到数组的特定索引?

问题来源:Stack Overflow

展开
收起
montos 2020-03-25 15:36:06 480 0
1 条回答
写回答
取消 提交回答
  • 您必须按如下所示调用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

    2020-03-25 15:39:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载