gpt4 book ai didi

java - 如何同时扫描多个txt文件?

转载 作者:行者123 更新时间:2023-12-01 10:06:41 24 4
gpt4 key购买 nike

我正在学习 Java EE,并尝试根据代码中列出的选项值扫描多个文本文件。如果选择三个选项之一,它将扫描相应的文本文件并输出一些信息。

正如您所看到的,我可以扫描一个文件,但显然忽略了选项选择。我不确定如何调整我的代码以根据选择切换到不同的文件。

我认为我必须移动一些东西,例如将 while 循环移动到实现选项选择的 if 语句内,然后扫描文件中的 id,这应该不是问题。我只是在读取不同的 txt 文件时感到有点傻眼。

我在下面发布了我的代码,以便您可以了解我正在尝试做什么。

我应该创建多个扫描仪并以这种方式实现它还是应该做其他事情?

编辑:多亏了一些帮助,我才成功使其正常工作。这是修改后的工作代码。

<body>
<%
String id = request.getParameter("id");
String cid = request.getParameter("classID");
String[] title = {"Name: ", "SSN: ", "Score: "};
Scanner sc;
%>

Find Your Current Score.
<%-- Blank space here --%>
<p></p>
<%-- Input Forms (Text Field and Button) --%>
<form action="ScoreFinder.jsp" method="get">
Employee ID:
<input type="text" name="id"/> Use SSN Format: xxx-xxx-xxxx
<p></p>
Class:
<select name="classID">
<option value="CMIS440">CMIS 440</option>
<option value="CMIS445">CMIS 445</option>
<option value="CMIS485">CMIS 485</option>
</select>
<input type="submit" value="Submit" />
</form>

<%
if (id != null || cid != null) {
String fileName = "/"+cid.replaceAll(" ", "") + ".txt";
sc = new Scanner(new File(application.getRealPath(fileName)));
while(sc.hasNext()) {
String line = sc.nextLine();
String[] split = line.split("[#]");
if (id.length() == 0) {
out.println("Please enter an ID number.");
break;
}
if (line.contains(id)) {
out.println("Class: " + cid);
%><br><%
for (int i=0; i<split.length; i++){
out.println(title[i]);
out.println(split[i]);
%><br><%
}
break;
}
}
}%>
</body>

最佳答案

假设您列出的 JSP 名称是 ScoreFinder.jsp,并且您正在将记录提交到同一个 JSP。

您可以根据参数id的值创建文本文件的名称,例如

<body>
<%
String id = request.getParameter("id");
String fileName = "/"+id.replaceAll(" ", "")+".txt"; // avoiding null check of 'id' for simplicity
Scanner sc = new Scanner(new File(application.getRealPath(fileName)));
try {
while(sc.hasNext()) {

........
........

关于java - 如何同时扫描多个txt文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36401293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com