我是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的帮助不大,“链接所有引用以进行本地重命名(不会更改
在其他文件中引用)”在文件中重命名是唯一的选择。它不执行任何操作。
最佳答案
似乎lineToken
是String
而不是StringTokenizer
。可能您已声明String lineToken
为类的一个属性,并计划使用它,但是在readFile
方法中,您为lineToken
分配了一个new StringTokenizer()
,但是您的定义是局部的,并且遮盖了您正在执行的定义出来。
您应该尝试从中删除StringTokenizer
StringTokenizer lineToken = new StringTokenizer (line);
然后做
lineToken = new StringTokenizer(line);