【问题标题】:checking for a set of string in a text file android检查文本文件android中的一组字符串
【发布时间】:2014-03-02 02:58:28
【问题描述】:

我正在尝试检查 tr 中的所有字符串是否都存在于文件输出中。如果不是,那么我应该返回 true 以便通知用户,但出了点问题:即使文件中存在所有字符串,我也会一次又一次地收到通知。

 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;
}

【问题讨论】:

    标签: android file bufferedreader


    【解决方案1】:

    试试这个代码:你的代码只读取file的第一行,在我的建议中,当它读取文件时,如果文件中不存在stringbreak读取和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;
    
    }
    

    【讨论】:

    • 我试过这个,但现在连通知都停止了,如果我的文本文件只包含一行,我无法理解在循环中写入“br.readLine()”背后的逻辑
    【解决方案2】:

    您只是在读取文件的第一行。您需要循环读取所有行。

    【讨论】:

    • 实际上我的文件中只有一行没有使用转义字符
    猜你喜欢
    • 2013-03-02
    • 2014-12-11
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多