我正在编写一个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:\用户\放大器\文件\的NetBeansProjects \ FileBasedServer_Understanding \构建 C:\用户\功放\文档\的NetBeansProjects \ FileBasedServer_Understanding \ build.xml文件 C:\用户\功放\文档\的NetBeansProjects \ FileBasedServer_Understanding \ MANIFEST.MF C:\用户\功放\文档\的NetBeansProjects \ FileBasedServer_Understanding \ nbproject文件 C:\ Users \用户放大器\文件\的NetBeansProjects \ FileBasedServer_Understanding \ SRC
编辑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)