【发布时间】:2011-08-04 07:32:17
【问题描述】:
我正在尝试在 java 中创建一个预处理器,它将读取源代码。我试图将代码全部读取到一个字符串中。
问题:如何将 >> 中间的字符串添加到它自己的某种数组列表中。
public class processLines {
public void pLine (String FileName)throws IOException{
Scanner scanner = null;
try{
scanner = new Scanner(new BufferedReader(new FileReader(FileName)));
while (scanner.hasNext()) {
String Line = "";
String LineB = "";
String LineC = "";
ArrayList<String> inside = new ArrayList<String>();
Line = Line + scanner.next()+ " ";
System.out.println("outside token: "+ Line);
StringTokenizer token = new StringTokenizer(Line);
while(token.hasMoreTokens()&& token.nextToken() != null){
LineB = Line;
if(LineB.contains("<<<")){
if(!LineB.contains(">>>") ){
LineC = LineC + scanner.next()+ " ";
inside.add(LineC);
System.out.println("LineC: " + LineC);
System.out.print(inside);
}
if(scanner.next(">>>") != null){
Line = scanner.next();
System.out.println("Line INside:" + Line);
}
}
}
}
}
finally {
if (scanner != null) {
scanner.close();
}
}
}
}
文本文件源代码在一行中包含“ Mo >> Larry”。如果 >> 中间只有一个名称,则此代码有效,但是当我添加更多名称时,会出现错误。
发生的错误信息:外部令牌:Mo
外部令牌:
【问题讨论】:
标签: java string file arraylist preprocessor