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

标签 java

大家好,我正在使用包含

的流分词器解析文本文件

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/

相关文章:

java - 在 Activity 中使用内部 BroadcastReceiver 时出现内存问题

java - Groovy StreamingTemplateEngine 使用 withCredentials 函数给出错误

java - 为什么 kotlin 协程被称为异步?

用于 PDF 页面拆分的 Java 库

java - 为什么 Android API 要求结果参数而不是返回方法?

java - 执行 JDBC as400 组查询给出错误 : A character, token ,或子句无效或丢失

java - 更改 jvm 堆大小 - jgrasp

java - JSF2 : commandLink without javascript

java - 使用变量的值作为枚举值

java.lang.UnsatisfiedLinkError : no lwjgl in java. 库路径