Jsp listar arquivos do diretório da aplicação

fala!
nunca tive problemas com listagem de arquivos…
mas era pq sempre eu só usava localmente…

o q eu to querendo agora é listar os arquivos de uma pasta da minha aplicação q ta no tomcat…

mas sempre o array com os nomes dos arquivos me retorna null…

eu consegui de um jeito:

File arquivos = new File("C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\webapps\enquetes\imagens");

String lista[] = arquivos.list();

e aí todos os arquvios e diretórios ficavam armazenados dentro do meu array lista… eu colocava isso dentro de um for e listava 1 a 1…

só q desse jeito a aplicação perde a portabilidade…
por exemplo… pq se eu passar essa aplicação pra outro computador q o tomcat esteja instalado em outra pasta, aí ja era… ele nao vai encontrar essa pasta onde eu to indicando…

eu tentei fazer assim:

File arquivos = new File("/enquetes/imagens");
String lista[] = arquivos.list();

só q lista[] fica null

como q eu faço pra ele listar os arquivos do diretório corrente??
tentei ainda usar o método q retorna o diretório corrente request.getContextPath() mas mesmo assim me retorna null

o q estou fazendo de errado?

valeu!
flw!

Oi

Daniel, tenta tirar a barra do endereço.

File arquivos = new File("enquetes/imagens"); 

T+

valeu jeve…
mas nao rolou… :???:

o JSP q eu to escrevendo esse código é:
webapps/enquetes/error.jsp

eu tentei de tudo q é jeito:

File arquivos = new File("enquetes/imagens");
File arquivos = new File("../enquetes/imagens");
File arquivos = new File("/imagens");
File arquivos = new File("imagens");

tentei outras formas, mas nao deu certo tb…
q q pode ta acontecendo de errado??
pq arquivos.list() sempre fica null

valeu
flw

o mais estranho q nem pela rede funciona…
tipo assim:

File arquvios = new File("//inf02:8080/enquetes/imagens");

tirando as // da frente tb nao da…

o único jeito q funciona é:

File arquivos = new File("C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.0/webapps/enquetes/imagens");

mas qdo eu for subir esse sistema pra web (q vai pra um server Linux) nao vai funcionar… pq linux nao tem C:\arquivos de programa…

eu pensei em colocar como diretório do linux… (usr/tomcat…) mas aí se precisa passar pra outro server, tem q recompilar a parada…

preciso listar arquivos da pasta imagens da aplicação enquetes via JSP…
parece simples né… mas desde ontem eu to apanhando disso!

se alguem puder me ajudar… por favor… :roll:

valeu! :grin:

[quote=“DanielBadawi”]o mais estranho q nem pela rede funciona…
tipo assim:

File arquvios = new File("//inf02:8080/enquetes/imagens");

[/quote]

Opa opa… esse diretório esta no mesmo contexto da webapp?

T+

opa… blz? :grin:

nao entendi sua pergunta… como assim no mesmo contexto da webapps? :?:

dentro do webapps eu tenho a pasta enquetes e dentro dessa, tem a pasta imagens

valeu!
:wink:
flw!

um help por favor!.. :sad: :perdido:

Oi

Daniel, vamos lá, do inicio de novo… Tu tem em webapps o diretorio ENQUETES e dentro dele tu tem o IMAGENS, certo?

O teu JSP está no mesmo diretório do diretório imagens? Tu tem aí o WEB-INF, web.xml, tudo certinho?

Tu está com permissão de leitura e/ou escrita neste diretório?

T+

jeve é O Cara! hahaha…
nao desiste de ajudar uma pobre pessoa cheio de dúvidas e problemas! heheh :lol: :lol:

entao… respondendo as suas perguntas…:

certo… tenho essa estrutura de pasta.

aí nao… o JSP q lista os arquivos está em /enquetes/error.jsp… sendo q eu quero listar os arquvios em /enquetes/imagens/… será esse o problema?
sobre os WEB-INF, web.xml… estao perfeitos…

tenho sim… la no trampo as maquinas são tudo Win… e a pasta webapps to tomcat do servidor ta compartilhada e tal… todo mundo, esreve, re-escreve, apaga… ta td liberado! :grin:

o q vc acha q to fazendo de errado??

mais uma vez,
valeu mesmo por continuar me ajudando! :grin:

flw!

conseguiiiiiiiiiiiiiiiiiiiiiiii!!

eis a linha salvadora:

File arquivosImagens = new File(request.getRealPath("imagens/logos"));

isso retorna uma String desde a raiz do SO até o argumento do método getRealPath()… q era o q eu precisava…
funciou em Windows, Linux…

esse método request.getRealPath() está como deprecated… mas foi o q eu consegui usar…
Se alguem souber o método q substituiu esse, postem aí!..

acabei usando isso num JSP e depois de novo num Servlet…

valeu!!