0

我试图在我的文本文件中搜索这个完整的单词“(错误:87)”。我使用了下面的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();
    }

在我的文本文件中,这个词有 104 次点击。但这不是找到这个词。因为它之间包含空间。请提出一些建议或在代码本身中进行编辑。

4

1 回答 1

1

代替

String[] lineWords = strLine.split("\\s+");

String[] tokens = strLine.split("(Error: 87)");

然后该(Error: 87)行中出现的次数将是tokens.length - 1

于 2018-11-22T05:05:36.403 回答