2014-09-03 6 views
-2

J'ai un programme Java qui fonctionne sans problème pour la recherche de la plupart des chaînes, mais pour une raison inconnue je ne peux pas trouver le fichier ina ci-dessous qui apparaît dans le fichier. J'essaie évidemment de localiser un certain élément qui a la valeur de 999 mais je suis incapable de le faire. Encore une fois cela fonctionne pour d'autres chaînes, pas celle ci-dessous.Impossible de trouver la chaîne dans le fichier Java

for(int i=0;i< inputFile.length;i++) 
     try { 
      br = new BufferedReader(new FileReader(inputFile[i])); 
      try { 
       while((line = br.readLine()) != null) 
       { 
        countLine++; 
        //System.out.println(line); 
        String[] words = line.split(" "); 

        for (String word : words) { 
         if (word.equals(inputSearch)) { 
          count++; 
          countBuffer++; 
         } 
        } 

        if(countBuffer > 0) 
        { 
         countBuffer = 0; 
         lineNumber += countLine + ","; 
        } 

       } 
       br.close(); 
+1

votre code postal que vous avez déjà –

+0

Comment recherchez-vous? Utilisez-vous des expressions régulières? – duffymo

+0

êtes-vous sûr que le fichier contient cette chaîne? – Miki

Répondre

1

Si je comprends bien votre question, vous pouvez utiliser un Pattern et Matcher et quelque chose comme -

String toMatch = "<element>999</element>"; 
Pattern pattern = Pattern.compile(">\\s*999\\s*<"); 
Matcher match = pattern.matcher(toMatch); 
int count = 0; 
int start = 0; 
while (start < toMatch.length() && match.find(start)) { 
    // Pattern found. 
    start = match.regionEnd() + 1; 
    count++; 
} 
Questions connexes