Criar Arvore de diretorios

Tenho um programa, que precisa criar uma arvore de diretórios para salvar alguns arquivos.

Criei um metodo que pega um arquivo de algum lugar na máquina, e salva em outro local (devera ser no servidor).

[code] public String SalvaArquivo(String diretorioSalvarServidor, String diretorioOrigemArquivo, String nomeArquivo){
File arquivo = new File(diretorioSalvarServidor);
if(!arquivo.exists()){
if (arquivo.mkdir()) {
System.out.println(“Diretorio criado com sucesso!”);
} else {
System.out.println(“Erro ao criar diretorio!”);
}
}

    String nome = nomeArquivo+diretorioOrigemArquivo.substring(diretorioOrigemArquivo.length()-4);
    

    File f = new File((String)diretorioOrigemArquivo);
    try{
        
        CopyFile.copyFile(f.getAbsolutePath(),arquivo.getAbsolutePath()+"\" + nome);
    } catch(Exception e){
        e.printStackTrace();
    }
    
    return nome;
}[/code]

O problema, é que ele não cria as subpastas, por exemplo, se eu mando para ele:

SalvaArquivo("c:\pasta1", "d:\imagem\img2.jpg", "imagem");

Funciona perfeitamente, mas se eu mando:

SalvaArquivo("c:\pasta1\pasta2", "d:\imagem\img2.jpg", "imagem");

Não funciona, se a pasta1 não existir.

Gostaria de saber uma forma para criar toda a arvore de diretório.

Use o método:

arquivo.mkdirs()