我是Java新手。我正在执行以下操作:

从文件读取,然后将数据放入变量。

我已将checkToken和lineToken声明为该类下的公共字符串。

    public static void readFile(String fromFile) throws IOException {
    BufferedReader reader = new BufferedReader(new FileReader(fromFile));
          String line = null;
          while ((line=reader.readLine()) != null )  {
          if (line.length() >= 2) {
               StringTokenizer lineToken = new StringTokenizer (line);
               checkToken = lineToken.nextToken();
               processlinetoken()
               ......


但是,这就是我遇到的问题。

     public static void processlinetoken()
          checkToken=lineToken.nextToken();
     }


它失败了。

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
 The method nextToken() is undefined for the type String

 at testread.getEngineLoad(testread.java:243)
 at testread.readFile(testread.java:149)
 at testread.main(testread.java:119)


所以我该如何工作呢?它似乎传递了变量,但之后没有传递。作品。

Eclipse IDE的帮助不大,“链接所有引用以进行本地重命名(不会更改
 在其他文件中引用)”在文件中重命名是唯一的选择。它不执行任何操作。

最佳答案

似乎lineTokenString而不是StringTokenizer。可能您已声明String lineToken为类的一个属性,并计划使用它,但是在readFile方法中,您为lineToken分配了一个new StringTokenizer(),但是您的定义是局部的,并且遮盖了您正在执行的定义出来。

您应该尝试从中删除StringTokenizer

StringTokenizer lineToken = new StringTokenizer (line);


然后做

lineToken = new StringTokenizer(line);

10-04 19:27