Como criar uma pasta/diretorio com jsp?

15 respostas
R

como criar uma pasta/diretorio através do jsp?

alguem sabe.
preciso que ao cadastrar um novo usuario no meu sistema, ele crie um diretorio para com o nome do mesmo.

obrigado. :x

15 Respostas

jgbt
File f = new File("nome do diretorio");

não funciona???

[]`s

R

não funcionou, nem deu erro :confused:

R

Consegui criar a pasta, mas ela cria no diretorio do apache…
queria criar no diretorio da minha aplicacao.
alguem sabe como fazer isso?

File diretorio = new File("pasta"); diretorio.mkdir();

zirocool

renatodervelan:
Consegui criar a pasta, mas ela cria no diretorio do apache…
queria criar no diretorio da minha aplicacao.
alguem sabe como fazer isso?

File diretorio = new File("pasta"); diretorio.mkdir();

Tenta assim oh

File diretorio = new File(request.getContextPath() + "/pasta"); diretorio.mkdir();
[/quote]

R

Tenta assim oh

Code:

File diretorio = new File(request.getContextPath() + /pasta);

diretorio.mkdir();</blockquote>

não deu erro…mas tb n criou nenhuma pasta… :frowning:

legionarioba

Você tentou criar essa pasta onde? Lembre-se que isso é uma aplicação web, não desktop… Você precisa usar request.getContextPath() e apartir dai você pode criar uma pasta no próprio diretório de sua aplicação…

zirocool
ServletContext ctx = getServletContext();
String path = ctx.getRealPath( "/" );

 File diretorio = new File(path+ "/pasta");
diretorio.mkdir();

Tenta assim entao… :smiley:

legionarioba

Zirocool,

Se ele estiver trabalhando dentro de um war ou ear isso vai funcionar? Digo…a pasta será criada, externamente, mas se ele quisesse adicionar uma pasta dentro do war por exemplo…?

zirocool

Até onde eu sei, o container “descompacta” o .war para então trabalhar.
Os .ear, nao sei te dizer, mas se o eskema for o mesmo, possivelmente ele vai fazer o deploy do conteúdo em algum lugar, e trabalhar com o sistema descompactado.

legionarioba

Acho que o ear tem o mesmo conceito…quando o servidor é iniciado, ele extrai pra uma pasta lá no temp e passa a trabalhar com ele…a questão é que acredito que ele faça isso apenas pra o .war ou .ear, e seu conteúdo interno. É possível trabalhar com war’s e ear’s trabalhando com pastas: minhaApp.ear, minhaApp.war, minhaApp.jar, e ai talvez criar uma pasta não gere esse conflito, mas se for pra trabalhar com um único arquivo .ear e .war acho que poderia gerar problemas…

zirocool

Eu acho que nao vai ter problemas e nem conflitos, o que passar a acontecer dentro da webapp, fica indiferente ao .war, que nada mais é que um zip com extensao diferente.

[ ]'s,
Misael Silveira.

legionarioba

Certo…

O “conflito” que estou dizendo é que se você estiver trabalhanco com um .war o RealPath da aplicação + nova pasta poderá ser diferente em execuções diferentes (supondo eu que quando o container descompacta o .war pra uma pasta temporária ele possa criar pastas com nomes diferentes em caso de um redeploy)

[]'s

Fabricio_Cozer_Marti

e se for feito um redeploy essa pasta fica lá ou é apagada ? Se você gerar um deploy com outro .war ou .ear com nomes diferentes ? Essa imagem vai estar lá ?

A depender da situação, você tem que montar o ambiente de produção em um local e se for ter que criar arquivos etc e tal, especificar uma pasta no diretório, onde a aplicação está rodando e de preferência, caso a aplicação utilize muitos arquivos/imagens/etc… a pasta fica num diretório diferente da aplicação no war. Se for um software-produto, peça para o usuário escolher em que pasta no sistema de diretórios dele ele vai salvar os arquivos.

E se a aplicação utilizar poucos arquivos para serem salvos, é melhor colocá-los em banco do que em arquivos.

R

vou testar!
ja respondo!

R

deu certo!!
criou na estrutura de diretorios…
podem usar!!

Criado 15 de julho de 2006
Ultima resposta 18 de jul. de 2006
Respostas 15
Participantes 5