[英]Hi All, I want to search this word “(Error: 87)” in my text file using Java code
I was trying to search this complete word "(Error: 87)" in my text file. 我试图在我的文本文件中搜索完整的单词“(错误:87)”。 I used below java code.
我用下面的java代码。
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. 在我的文本文件中,该单词具有104个匹配项。 but this is not finding the word.
但这找不到单词。 because it contain space in between.
因为它之间包含空格。 Kindly suggest something or edit in the code itself.
请提出一些建议或在代码本身中进行编辑。
Instead of 代替
String[] lineWords = strLine.split("\\s+");
do 做
String[] tokens = strLine.split("(Error: 87)");
And then the number of occurrences of (Error: 87)
in that line would be tokens.length - 1
. 然后,该行中
(Error: 87)
的出现次数将是tokens.length - 1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.