java - 计算键和值?

标签 java string

我有2000行代码,它是由我们的数据库生成的,输出是这样的

CREATE UIX:NAME=JSS,RRTE:TTRE,EMAC:TRUE,CHECK:TRUE,YYEE:FALSE
GL0/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL1/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL2/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
CREATE UIX:NAME=JSS,RRTE:TTRE,EMAC:TRUE,CHECK:FALSE,YYEE:FALSE
GL0/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL0/GL1,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
CREATE UIX:NAME=JSS,RRTE:TTRE,EMAC:TRUE,CHECK:FALSE,YYEE:FALSE
GL0/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL1/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL2/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL3/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
CREATE UIX:NAME=JSS,RRTE:TTRE,EMAC:TRUE,CHECK:TRUE,YYEE:FALSE
GL0/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL1/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL2/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL3/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE
GL4/GL0,RRTE:TTRE,EMAC:TRUE,UWQ:FALSE,ULT:TRUE

我想如果“CHECK”为假,它将为我计算 GL,我还编写了读取文件的方法:

public void execToken(File f) throws Exception {
        BufferedReader br = new BufferedReader(new FileReader(f));
        String line;
        while ((line = br.readLine()) != null) {
            StringTokenizer strt = new StringTokenizer(line, ";");
            while (strt.hasMoreTokens()) {
                String token = strt.nextToken();
                itemConfig(token, "CREATE UIX:NAME=JSS", poolVector);
            }
        }
    }

这是我的 itemConfig 方法:

public void itemConfig(String token, String condition, Vector<String> vHead) {
        if (token.startsWith(condition)) {
            value = getTokenValue(token);
            String[] content = value.split("[,=]");
            Collections.addAll(vHead, content);
        }
    }

有什么想法吗?

非常感谢...

最佳答案

   public void execToken(File f) throws Exception {
        BufferedReader br = new BufferedReader(new FileReader(f));
        String line;
        while ((line = br.readLine()) != null) {

            if(line.indexOf("CHECK:FALSE") > -1) {
               //Do something
            } else if(line.indexOf("CHECK:TRUE") > -1) {

                int i = 0;                   
                while(!(line = br.readLine).startsWith("CREATE"))  {
                    i++;
                }

                //  You have amount of GL's
            }

            StringTokenizer strt = new StringTokenizer(line, ";");
            while (strt.hasMoreTokens()) {
                String token = strt.nextToken();
                itemConfig(token, "CREATE UIX:NAME=JSS", poolVector);
            }
        }
    }

关于java - 计算键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7914117/

相关文章:

java - 同一线程获取和释放多个锁

java - BST 树 - Java 中的字典

c - 将空字符串分配给获取

java - 对 java Map<String, List<String>> 中的 Map 元素进行逆序排序

python - 在 MySQL 表中生成唯一字符列表

java - 多次迭代函数中使用的 JPA 查询优化

java - 将十六进制转换为 BigInteger

java - 为什么我的代码在 ideone.com 中不起作用?

javascript - 在 Javascript 中将字符串转换为大整数?

将 pid_t 转换为字符串