使用 java 读取文本文件,eclipse kepler

Read text file using java , eclipse kepler

我是 Java 的新手,目前在 Eclipse Kepler 工作。我有一个 JSP 页面,我正在从那里读取一个文本文件,该文件是使用 shell 脚本不断编写的。

                <b>
                    <%
                        String filePath = "/home/default/test.txt";
                        BufferedReader reader = new BufferedReader(new FileReader(filePath));
                        StringBuilder sb = new StringBuilder();
                        String line;

                        while((line = reader.readLine()) != "Success"){
                            sb.append(line+"\n");
                            out.println(sb.toString());
                        }                       
                    %>
                </b>

我需要逻辑来继续读取日志,直到它读取到最终的 "Success" 字符串,直到它没有读取到,它不应该打印任何空白行。

如何解决?

试试这个:

while(!(line = reader.readLine()).equals("Success")) {
    if (line.trim().length() != 0) {
       out.println(line+"\n");
    }
}

line 直接传递给 out 流。 StringBuilder的使用在这里不是很明显

正如epoch所说,“!=”与"equals()"不同。如果您要比较 Strings,请始终使用 "equals()"。

while(!(line = reader.readLine()).equals("Success")) {...}

你可以这样实现:

while ((line = reader.readLine()) != null) {
            if (line.trim().length() == 0) {
                continue;
            }

            if (line.equals("Success")) {
                break; 
            } else {
                // perform required operation
            }

  }