0

我正在为 Web 服务器编写代码,它向所有客户端显示一些特定的文件夹,并且可以访问其中的所有文件。

我完美地编写了所有代码,但它没有打印当前目录下的文件夹列表。我发布了那个模块,请告诉我为什么它没有打印当前目录下所有文件夹或文件的列表。

假设,我们当前目录的绝对路径如下,

C:\Users\aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding

打印浏览器中所有文件夹和文件的代码是,

void listDirectory(File dir, PrintStream ps) throws IOException {

    ps.println("<html><body align=center>");
    ps.println("<center> Simple File Based MultiThreaded WebServer</center >");
    ps.println("<table border=1 align=center>");
    ps.println("<tr bgcolor=#9999CC><td width=100% height=100% align=center>Directory Listing</td >");
    ps.println("<td width=40% height=40% align=center>Type</td ></tr> ");
    String[] list = dir.list();
    for (int i = 0; list != null && i < list.length; i++) {

        File f = new File(dir, list[i]);
        System.out.println(f.getAbsolutePath());
        if (f.isDirectory()) {
            ps.println("<tr><td>");
            ps.println("< td face= 'Verdana'> <a href='" + f + "'>list</a></td>");
            //ps.println("<td align=\"center\"><a href=\"" + f + "\">list</a>");
            ps.println("</td");
            ps.println("</tr>");
        } /*else {
        ps.println("<tr><td>");
        ps.println(""2""\"" face="\"""Verdana""\""> <A HREF=\""list"\">"list"<A HREF=\""list"\">\n
        </td>");
        ps.println("<td align=center><a href=\""list"/\"><img src=\"""/images/file.gif""\"></img>");
        ps.println("</tr>");
        }*/
    }
    ps.println("</table>");
    ps.println("</body></html>");
}

当我运行时http://localhost:8080\,它没有在浏览器上显示任何内容。告诉我我在这个模块中哪里错了。

编辑编号 1

C:\Users\aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding\build C:\Users\aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding\build.xml C:\Users\aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding\manifest.mf C:\Users \aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding\nbproject C:\Users\aMpliFieR\Documents\NetBeansProjects\FileBasedServer_Understanding\src

编辑 No.2

java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:150)
    at java.net.SocketInputStream.read(SocketInputStream.java:121)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at filebasedserver_understanding.Worker.handleClientRequest(Worker.java:94)
    at filebasedserver_understanding.Worker.run(Worker.java:57)
    at java.lang.Thread.run(Thread.java:722)
4

0 回答 0