PDA

View Full Version : [JAVA] Calcolare numero di if in un codice


magix2003
07-04-2008, 21:19
Ciao a tutti,

vorrei calcolare quanti if ci sono in un file sorgente java. Quindi leggo il file e lo inserisco all'interno della stringa. Per fare il matching ho usato questa RE:

if\n?.*\\(

Il problema è che in sorgente mi conta due if di troppo. Siccome non so se l'errore è nella RE o nella funzione posto anche loro:


private void constructString() {
InputStream aStream = null;
InputStreamReader aReader = null;
BufferedReader aBufferedReader = null;
try {
int counter = 0;
aStream = new FileInputStream(theSourceFile);
aReader = new InputStreamReader(aStream);
aBufferedReader = new BufferedReader(aReader);
String line = aBufferedReader.readLine();
while(line != null) {
text += line +'\n';
line = aBufferedReader.readLine();
}
} catch (IOException ex) {
Logger.getLogger(ComplexityCalculator.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try {
aBufferedReader.close();
aReader.close();
aStream.close();

} catch (IOException ex) {
Logger.getLogger(ComplexityCalculator.class.getName()).log(Level.SEVERE, null, ex);
}
}
}


private int ifNumber() {
int result = 0;
Pattern ifPattern = Pattern.compile(ifRegExp);
Matcher aMatcher = ifPattern.matcher(text);
String temp = text;
while(aMatcher.find()) {
result++;
temp = temp.substring(aMatcher.end());
aMatcher = ifPattern.matcher(temp);
}
return result;
}



Grazie in anticipo,

Giorgio