Upload com richfaces

Olá galera estou com um probleminha básico com upload, quero fazer o upload da imagem selecionada e jogar para dentro de uma pasta na aplicação chamada imagens

meu código está certinho o problema é na url para dentro do servidor (pasta do projeto)

public void upload(UploadEvent event) {

        if (imagens == null) {
            imagens = new ArrayList<File>();
        }
        File imagem = event.getUploadItem().getFile();

        String caminho = System.getProperty("user.dir");

        String url = (backlashReplace(caminho)+"\\\\web\\\\imagens");

        //   aqui ele sai assim:  D:\\Documents and Settings\\Tarcisio\\Desktop\\CCMF\\CCMF-BETA\\web\\imagens
        //   tudo certinho.


        String nome = event.getUploadItem().getFileName().toString();

        if (imagem != null) {
            imagens.add(imagem);
        }

        BufferedImage img;
        
        try {
                 img = ImageIO.read(imagem);
                 ImageIO.write(img, "jpg", new File(url,nome));     // aqui quando passo a url ele não aceita e não faz o upload

         } catch (IOException e) {
                e.printStackTrace();
         }

    }

a string url tras certinho quando eu testo: D:\Documents and Settings\Tarcisio\Desktop\CCMF\CCMF-BETA\web\imagens

mas ele não aceita de forma alguma.

alguma dica de como setar o caminho da pasta mais fácil?

Valeu.

fera vc ta colocando barras a mais que o necessario

String url = (backlashReplace(caminho)+"\\web\\imagens");

use apenas uma barra invertida antes de cada barra a ser exibida, isso eh necessario pois apenas uma barra invertida identifica que é para ser executado um comando por exemplo “\n” é quebra de linha

grande abrasssss

Oi amigo, tentei de tudo mas acho que o problema é no System.getProperty(“user.dir”);

se eu coloco só o System.getProperty(“user.dir”); no caminho era pra dar certo pois a url ficaria assim:

D:\Documents and Settings\Tarcisio\Desktop\CCMF\CCMF-BETA

não dá erro mas a imagem não é copiada para a pasta CCMF-BETA


 String caminho = System.getProperty("user.dir");  
   
         String url = (backlashReplace(caminho)+"\\\\web\\\\imagens");  
   
         //   aqui ele sai assim:  D:\\Documents and Settings\\Tarcisio\\Desktop\\CCMF\\CCMF-BETA\\web\\imagens  
         //   tudo certinho.  

valeu…

caraca… ahahah agora que fui ler o codigo inteiro, nao use BufferedImage para gravar o arquivo, use FileOutputStream.

vc pode fazer assim:

FileOutputStream outPut = new FileOutputStream("c:\\nome.ext"); // nao deixe isso no hard code
outPut.write(event.getUploadItem().getData());
outPut.close();