【问题标题】:Splitting a line from a file into tokens in java将文件中的一行拆分为java中的标记
【发布时间】:2013-11-05 20:28:43
【问题描述】:

我目前正在逐个令牌读取文件令牌,我想先读取整行,然后将其拆分为令牌。这是我通过令牌阅读的代码的一部分:

public void getNextToken(){
     String temp = input.next();        

     if(temp.equals("$")){
         nextToken = Symbols.ENDOFFILE;
     }
     else if(temp.equals("a")){
         nextToken = Symbols.IDENT;
     }
     else if(temp.equals(";")){
         nextToken = Symbols.SEMICOLON;
     }
     else if(temp.equals("const")){
         nextToken = Symbols.CONSTANT;

【问题讨论】:

  • 你为什么要改变它?它会使代码变得不那么清晰而收益甚微。

标签: java split line token


【解决方案1】:
Scanner scanner = new Scanner(fileName);
while (scanner.hasNextLine()) {
    String[] tokens = scanner.nextLine().split("\\s");
    //do what you want to do with the tokens
}
scanner.close();

【讨论】:

    【解决方案2】:

    试试吧:

    BuffereReader reader = new BufferedReader(**YourInputStream**);
    String line = reader.readLine();
    
    String[] tokens = line.split("\\s"); 
    

    【讨论】:

      【解决方案3】:

      StringTokenizer:

      我正在使用的 Class ctor:

      StringTokenizer(String str, String delim)
      

      一个例子:

       StringTokenizer st = new StringTokenizer("this is a test", "$a; ");
       while (st.hasMoreTokens()) {
           System.out.println(st.nextToken());
       }
      

      Here你可以找到一堆例子。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-08
        • 2020-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多