******************************************************
完全简化版有点java基础的就能看明白
只有2个类Analyzer.java和Scaner.java
Analyzer.java中为读取测试文件中的每一行然后传入Scaner中扫描
******************************************************
packagecn.analyzer;
importjava.io.File;
importjava.io.RandomAccessFile;
publicclassAnalyzer{
privateScanerscaner;
privateFiletestFile;
publicstaticfinalStringtestFileAdd="d:\\aclass.java";//测试文件的绝对地址
privateRandomAccessFilefileReandomReader;
publicvoidinitAnalayzer(){
this.scaner=newScaner();
try{
testFile=newFile(testFileAdd);
this.fileReandomReader=newRandomAccessFile(testFile,"r");
}catch(Exceptione){
System.out.println("测试文件不存在");
}
}
publicvoidstartAnalyze(){
StringtmpString="";
Stringresult;
introw=0;
System.out.println("······················开始分析·····················");
try{
while((tmpString=this.fileReandomReader.readLine())!=null){
++row;
System.out.println("·····················analyzerow"+row
+"·················");
//System.err.println(tmpString+"!!"+row);
result=scaner.scan(tmpString);
System.out.println(result);
scaner.cleanScaner();
tmpString="";
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicstaticvoidmain(String[]args){
Analyzera=newAnalyzer();
a.initAnalayzer();
a.startAnalyze();
}
}
****************************************************************************************
****************************************************************************************
packagecn.analyzer;
importjava.util.HashMap;
importjava.util.Map;