2014-03-02 27 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我的文本文件只包含一行 –

相关问题