Каталог, с которого вы начинаете, должен читаться из конфигурации. Однако вы можете назвать это так:
PrintWriter out = null; // moved outside doGet() for use in ls()
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
out = response.getWriter();
File startDir = new File("C:\\WorkFiles\\ServletFiles");
ls( startDir );
}
Строка печати в ls () имеет проблему (вы не можете смешивать 'и ") и должна быть переписана как
out.println("<a href="+file.toURL()+'>'+file.getName()+"</a>");
(при условии, что вы не хотите выводить на отрисованную html-страницу вместо stdout)
Примечание: устаревший метод file.toURL () выбрасывает MalformedURLException
EDIT:
Поскольку listFiles может возвращать ноль, вы также должны добавить
File[] list = f.listFiles();
if ( list == null ) return;