Java 检查文本文件中的输入字符串
我正在使用jsp,希望检查输入是否存在于整个文本文件的第一列中 假设我有user.text并包含Java 检查文本文件中的输入字符串,java,jsp,Java,Jsp,我正在使用jsp,希望检查输入是否存在于整个文本文件的第一列中 假设我有user.text并包含 测试,名字,姓氏 Test02,用户,User08 如果用户输入“Test”,它将打印exist。否则,它会将输入添加到文件中 这是我的密码: <% String user= request.getParameter("user"); String firstname = request.getParameter("firstname"); String la
测试,名字,姓氏
Test02,用户,User08 如果用户输入“Test”,它将打印exist。否则,它会将输入添加到文件中 这是我的密码:
<%
String user= request.getParameter("user");
String firstname = request.getParameter("firstname");
String lastname= request.getParameter("lastname");
File file = new File("/user.txt");
BufferedReader read = new BufferedReader(new FileReader(path));
PrintWriter out = new PrintWriter(new FileWriter(file, true));
String line = read.readLine();
if(line.contains(user)) {
%>
<H3>User Already exist...</H3>
<%
}
else{
outt.println(User + "," + firstname + "," + lastname + "\n");
outt.close();
br.close();
%>
<p> Done...</p>
<%
}
%>
用户已存在。。。
完成
问题在于它只检查第一行。您需要添加一个循环:
<%
String user= request.getParameter("user");
String firstname = request.getParameter("firstname");
String lastname= request.getParameter("lastname");
File file = new File("/user.txt");
BufferedReader read = new BufferedReader(new FileReader(path));
PrintWriter out = new PrintWriter(new FileWriter(file, true));
String line = null;
while((line = read.readLine()) != null) {
if(line.contains(user)) {
%>
<H3>User Already exist...</H3>
<%
break;
}
}
if(line == null)
outt.println(User + "," + firstname + "," + lastname + "\n");
outt.close();
br.close();
%>
<p> Done...</p>
用户已存在。。。
完成
另外,该验证(
line.contains(user)
)看起来太容易出错……您能详细说明您面临的问题吗?编写一个,同时围绕“读取”和“检查”部分进行循环怎么样?下面是一个使用BufferedReader
读取整个文件的示例:。