以下代码段为jsp页面中截取,我执行后发现语句a执行了,但语句b未执行。原因是存在语句x,请问各位,为什么?谢谢。
<%
    try
    {
        out.print("aa"); // 语句a
        File fl = new File("questions.txt");
        FileReader fRead = new FileReader("fl"); // 语句x
        out.print("bb"); // 语句b
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
%>

解决方案 »

  1.   

    File fl = new File("questions.txt"); 
            FileReader fRead = new FileReader("fl"); ,双引号干什么呢????
      

  2.   

    File fl = new File("questions.txt"); 
    FileReader fRead = new FileReader(fl); 试试
      

  3.   

    多谢各位,代码如下
    <%@ page contentType = "text/html;charset=GB2312" %>
    <%@ page import = "java.io.*" %>
    <HTML>
            <HEAD><TITLE>test</TITLE></HEAD>
            <BODY>
                <%
                    try
                    {
                        out.print("aa");
                        File fl = new File("questions.txt");
                        FileReader fRead = new FileReader(fl);
                        out.print("bb");
                    }
                    catch (Exception e)
                    {
                        e.printStackTrace();
                    }
                %>
            </BODY>
    </HTML>
      

  4.   

    File fl = new File("questions.txt"); 写个完整的路径应该就可以了。
      

  5.   

    <%@ page contentType = "text/html;charset=GB2312" %>
    <%@ page import="java.io.*"%> 
    <HTML> 
             <HEAD> <TITLE>test </TITLE> </HEAD> 
             <BODY> 
                 <% 
                    try 
                    { 
                        out.print("aa"); 
                        //比如c盘目录下有个questions.txt文件,你可以这样写(绝对路径的写法)
                        File fl = new File("c:/questions.txt");
                        FileReader fRead = new FileReader(fl); 
                        out.print("bb"); 
                    } 
                    catch (Exception e) 
                    { 
                        //加上这个语句,可以打印具体后台的错误原因
                        out.print(e.toString());
                        e.printStackTrace(); 
                    } 
                %> 
             </BODY> 
    </HTML>
      

  6.   

    我把文件名和路径写完整了,的确可以正常输出了。谢谢大家!
    那可以分析一下原因吗?我的question.txt文件是跟jsp文件在同一目录下的啊,为什么一定要写全路径名呢?
      

  7.   

    貌似 question.txt应该在这个web工程的根目录下
      

  8.   

    jsp文件最终要被应用服务器编译为class文件,并放在临时目录下,这样,question.txt和你的jsp编译后的class文件位置就不在同一目录下了.
    如果要找到文件的路径,你必须首先得到文件的物理的路径。
    如果文件question.txt是跟jsp文件在同一目录下,你可以这样写:
    File fl = new File(session.getServletContext().getRealPath("question.txt"));