【问题标题】:JSP BufferedReader how to search for a string in text fileJSP BufferedReader如何在文本文件中搜索字符串
【发布时间】:2017-08-17 08:48:24
【问题描述】:

这是我目前正在运行的代码,它会打印“No Results Found”! 我想用我的代码从搜索文本字段 name="criteria" 中获取文本 并用于在 .txt 文件中搜索该记录。

  </head>
<body>
<div class="container form-group panel panel-default">
    <%
        String inpt = request.getParameter("criteria");
        String jspPath = "D:\\TextDB\\";
        String fileName = "Student_Details.txt";
        String txtFilePath = jspPath + fileName;
        BufferedReader reader = new BufferedReader(new FileReader(txtFilePath));
        //BufferedReader br = new InputStreamReader(new FileInputStream(txtFilePath));
        StringBuilder sb = new StringBuilder();
        String line;

            while((line = reader.readLine())!= null){
                if(line.equals(inpt))
                {
                    sb.append(line+"\n");
                }
            }
       out.println(sb.toString());
           if(line == null)
           {
            out.println("\n No Results Found!");        
           }
    %>

【问题讨论】:

  • 而不是“equals”,您是否尝试过“line.equals”行上的“contains”。 as equals 可能正在检查确切的值。
  • HTTP 状态 500 - 在第 35 行处理 JSP 页面 /Reader.jsp 时发生异常类型 异常报告消息 在第 35 行处理 JSP 页面 /Reader.jsp 时发生异常描述 服务器遇到内部错误阻止它完成这个请求。异常 org.apache.jasper.JasperException:在第 35 行处理 JSP 页面 /Reader.jsp 时发生异常 32:字符串行; 33: 34: while((line = reader.readLine())!= null){ 35: if(line.contains(inpt)) 36: { 37: sb.append(line+"\n"); 38:
  • 包含报错
  • @jeetendraMandal 如果您有工作代码,请发布
  • 如果文件正确放置在您在代码中指定的路径中,它应该可以工作。文件 file = new File("G:\\test_line.txt"); FileReader fileReader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(fileReader); StringBuffer stringBuffer = new StringBuffer();字符串线;字符串输入 = "test3"; while ((line = bufferedReader.readLine()) != null) { if(line.contains(input)) { System.out.println("hello world test:"+line); } stringBuffer.append(line); stringBuffer.append("\n"); }

标签: jsp bufferedreader


【解决方案1】:

您的代码按设计运行。您将总是打印“未找到结果”,因为line 在读取循环结束时将始终为空。你应该测试sb.length() 或其他任何东西,而不是line

注意“未找到结果”不是有效的 HTML。

【讨论】:

  • 我认为您的问题不正确,它说“从搜索文本字段 name="criteria" 中获取文本并用于在 .txt 文件中搜索该记录”。你的答案不是被问到的
  • @jeetendraMandal 问题是,我引用,'它打印“未找到结果!”',我已经确定了原因并提供了解决方案。 OP 的代码确实正确搜索文件中的文本:它只是误报了结果。
猜你喜欢
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
相关资源
最近更新 更多