Java 如何筛选文本文件中的特定字符串?

Java 如何筛选文本文件中的特定字符串?,java,Java,如果特定数据在文本文件中,我如何创建一个只会继续的程序。是否可以使用BufferedReader/FileReader读取和搜索每一行,直到找到用户提供的匹配输入数据。假设我正在创建一个登录表单,文本文件中的数据将是: username;password username1;password1 因此,这里我对if语句感到非常困惑,我如何才能读取文本文件中的每一行,直到找到正确的匹配项,并允许用户继续下一帧?如果我读得正确,请尝试以下操作: List<String> credenti

如果特定数据在文本文件中,我如何创建一个只会继续的程序。是否可以使用
BufferedReader/FileReader
读取和搜索每一行,直到找到用户提供的匹配输入数据。假设我正在创建一个登录表单,文本文件中的数据将是:

username;password
username1;password1

因此,这里我对if语句感到非常困惑,我如何才能读取文本文件中的每一行,直到找到正确的匹配项,并允许用户继续下一帧?

如果我读得正确,请尝试以下操作:

List<String> credentials = new ArrayList<>();
// Populate this list with all of your credentials

BufferedReader bReader = new BufferedReader(new FileReader(textFile));
boolean foundCredentials = false;

String line;
while ((line = bReader.readLine()) != null) {
    // Set your condition to analyze the line and find the credentials you are looking for
    if (credentials.contains(line)) {
        foundCredentials = true;
        break;
    }
}
bReader.close();

if (foundCredentials) {
    // Proceed to next frame
}
List credentials=new ArrayList();
//使用您的所有凭据填充此列表
BufferedReader bReader=新的BufferedReader(新文件阅读器(文本文件));
布尔值=false;
弦线;
而((line=bReader.readLine())!=null){
//设置条件以分析该行并查找要查找的凭据
if(凭证.包含(行)){
foundCredentials=true;
打破
}
}
bReader.close();
如果(创建凭据){
//转至下一帧
}

正如您所说,迭代每一行并使用
String#contains
。请注意,这并不是实现任何“安全”的方法——只用于学术领域;这样做验证:;可能这不是最好的方法,所以我不会将它作为awnseruse
break
语句放在
while
循环中。@nazirinimran代码将一直读取,直到找到所需的凭据,然后停止读取并关闭文件是的,我知道,但在if语句中,您写出
if(line.contains)(“用户名:密码”)| | line.contains(“username1:password1”)
因此,想象一下,如果文本文件中有数百个用户凭据,我如何写出if语句中的每个凭据?@nazirinimran可以看到我对答案的更改。您可以将所有凭据存储在一个列表中,然后检查从文件中读取的行是否在凭据列表中。