2015-04-17 4 views
3

У меня есть файлы на сервере в следующем каталоге:список содержимого каталога сервера с помощью JSP

D:\tomcat8\webapps\schema_files\ 

Я хочу, чтобы перечислить все файлы, присутствующие в данной директории.

То, что я пытался

<% 
String folder=application.getRealPath("D:/tomcat8/webapps/schema_files"); 
File file=new File(folder); 
String fileNames[]=file.list(); 
System.out.println("fileNames[] : "+fileNames[0]); 
%> 

Ее не работает.

Однако, если я храню файлы в самом приложении в папке «/ WEB-INF/filefolder», тогда работает следующий код.

<% 
    String folder=application.getRealPath("/WEB-INF/filefolder"); 
    File file=new File(folder); 
    String fileNames[]=file.list(); 
    System.out.println("fileNames[] : "+fileNames[0]); 
    %> 

Пожалуйста, помогите мне ..

+0

что делает ваша программа делать сейчас? Я имею в виду, что текущий вывод – Dashovsky

+0

@Dashovsky вывод «java.lang.NullPointerException» в строке «System.out.println (« fileNames []: «+ fileNames [0]);» –

+0

Ваша программа развернута в .war файл на вашем сервере tomcat? – Dashovsky

ответ

0

Это работает, но может быть лучше подход, который явно для JSP

<% 
File file=new File("D:\\tomcat8\\webapps\\schema_files"); 
String fileNames[]=file.list(); 
System.out.println("fileNames[] : "+fileNames[0]); 
%> 
1

Вы можете использовать application.getRealPath(String args0) и application.getContextPath() указывая на директорию сервера, как это:

File file=new File(application.getRealPath(application.getContextPath())); 
String fileNames[]=file.list(); 
for(int i=0;i<fileNames.length;i++) 
    System.out.println(fileNames[i]); 

application является неявный объект, доступный в JSP, точно так же, как session и request.

+0

Где пройти путь к каталогу? –

0

<%=request.getContextPath()%> может получить корневую дорожку вашего приложения, так что это будет что-то вроде localhost:port/yourappname. Затем все, что вам нужно сделать, это назначить это другой переменной, такой как строковый путь, и добавить свой путь к папке или что-то еще.

Пример:

<%=request.getContextPath()%>/folder1/folder2/webpage.html 
Смежные вопросы