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