【问题标题】:How to compare to string in java?如何与java中的字符串进行比较?
【发布时间】:2014-05-05 06:39:18
【问题描述】:

您好,我想从文件中读取数据,然后我想从我的字符串中比较该字符串 我那个字符串等于我的字符串然后运行 ​​if 条件否则 else 条件

我的.jsp

   <%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ page import="java.io.*" %>
<html>
<body>


       <%
           String s1="1";
          // int i=4;
           // String s=null;
          // String s2="1";
           String s3=null;
            String file = application.getRealPath("/") + "data.txt";
           BufferedReader reader = new BufferedReader(new FileReader(file));

            String line;
            while((line = reader.readLine())!= null){

                s3=line.toString();
            }

  if(s3.equalsIgnoreCase(s1))
      %>
     <%@ include file="MarketWiseData.jsp" %>
     <%else
  {%>
      <%@ include file="CommodityWise.jsp" %>
<%
          }
%>

</body>
</html>

我怎样才能得到我的目标?

提前致谢

【问题讨论】:

  • 我知道如何比较,但我不知道我错在哪里
  • @san Krish 我得到了 (java.lang.NullPointerException)
  • 如果你得到 NullPointerException,Reader 对象没有被创建,这意味着文件不存在。
  • 即使在while循环之后,如果line变量为null,也会给出NullPointerException。

标签: java jsp bufferedreader filereader


【解决方案1】:

阅读您的代码:

while((line = reader.readLine()) != null) {
    // sb.append(line+"\n");
    out.println(line);
}

if (line.equalsIgnoreCase(s1))
    out.println("Shkati");
else {
    out.println("sharma");
}

line 不为空时,您有一个持续运行的while 循环。因此,当line 为空时它会停止。因此,在if 测试中,line 保证为空。并且因此可以保证测试抛出 NullPointerException,因为在 null 上调用方法没有意义。

请注意,如果像我上面的代码一样,您的代码正确缩进,您将能够立即看到它的结构和逻辑。不缩进你的代码会让你自己感到困惑和不清楚。

【讨论】:

    【解决方案2】:

    您将在if(line.equalsIgnoreCase(s1)) 行获得java.lang.NullPointerException,因为在您的while 循环中,您可以检查line != null,直到该行不为空,您的循环执行,当line=null 时,代码退出循环并且您的 if 条件发生在您检查 if(line.equalsIgnoreCase(s1)) 和自 line=null 以来,因此您将在您的 if 条件下获得 NullPointerException

    我想你想要这个:

    while((line = reader.readLine())!= null){
    if(line.equalsIgnoreCase(s1))
         out.println("Shkati");
      else
      {
      out.println("sharma");
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-08-31
      • 2017-02-20
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多