2014-03-02 63 views
0

我試圖檢查文件輸出中是否存在tr中的所有字符串。如果不是,那麼我應該返回true,以便我可以通知用戶,但有些錯誤:即使所有字符串都存在於文件中,我都會一次又一次地收到通知。檢查文本文件中的一組字符串android

public boolean checkinfile(File output, String[] tr) throws IOException { 
    Boolean flag = false; 
    BufferedReader br = new BufferedReader(new FileReader(output)); 
    String read = br.readLine(); 
    int x = 0; 
    for (x = 0; x < tr.length; x++) { 
     if ((read.contains(tr[x]))) { 

     } 
      else { 
      flag = true; 
      return flag; 
     } 
    } 
    return flag; 
} 

回答

0

您只是讀取文件的第一行。你需要循環閱讀所有的行。

+0

實際上在我的文件中只有一行沒有使用轉義字符 –

0

試試這個代碼:代碼只讀的file的第一線,在我的建議下,當讀取文件,如果string不存在的文件,break閱讀loop並返回true

public boolean checkinfile(File output, String[] tr) throws IOException { 
    Boolean flag = false; 
    BufferedReader br = new BufferedReader(new FileReader(output)); 

    for (int x = 0; x < tr.length; x++) { 
     String read = br.readLine(); 
     if (!(read.contains(tr[x]))) { 
      flag=true; 
      break; 
     } 
    } 
    return flag; 

} 
+0

我試過這一個,但現在即使通知已停止我不知道在循環內寫入'br.readLine()'的邏輯if我的文本文件只包含一行 –

相關問題