I was trying to search this complete word "(Error: 87)" in my text file. I used below java code.
String path = "C:\\Temp\\Error_Hunter";
String fileName = "\\nvr-service.txt";
String testWord = "(Error: 87)";
int tLen = testWord.length();
int wordCntr = 0;
String file1 = path + fileName;
boolean check;
try{
FileInputStream fstream = new FileInputStream(file1);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
//Read File Line By Line
while((strLine = br.readLine()) != null){
//check to see whether testWord occurs at least once in the line of text
check = strLine.toLowerCase().contains(testWord.toLowerCase());
if(check){
//get the line, and parse its words into a String array
String[] lineWords = strLine.split("\\s+");
for(String w : lineWords)
{
if(w.length() >= tLen){
String word = w.substring(0,tLen).trim();
if(word.equalsIgnoreCase(testWord))
{
wordCntr++;
}
}
}
}
}
System.out.println("total is: " + wordCntr);
//Close the input stream
br.close();
} catch(Exception e){
e.printStackTrace();
}
In my text file, the word has 104 hits. but this is not finding the word. because it contain space in between. Kindly suggest something or edit in the code itself.
Instead of
do
And then the number of occurrences of
(Error: 87)
in that line would betokens.length - 1
.