Verificação de diretório via ftp

Estou desenvolvendo uma aplicação que faz o ftp. Um servidor manda o arquivo para o outro e verifica se existe o diretório. Se existe, ele apenas faz o upload do arquivo, senão cria o diretório e depois faz o upload do arquivo para este diretório. O código abaixo não está funcionando, alguém pode me ajudar?

FTP ftp = new FTP(ip_servidor);
ftp.connect();
ftp.login(“anonymous”,“dataprev@df.previdenciasocial.gov.br”);

if (!ftp1.isConnected()){
ftp1.logon();
}
// verifica se existe a estrutura, caso não exista, ela é criada

ftp.cd(estrutura_remota);

if (ftp.lastCode() != FTP.CODE_CD_OK){
ftp1.setRemoteFile(estrutura_remota);
ftp1.makeDirectory();
}

ftp.disconnect();

if (!ftp1.isConnected()){
ftp1.logon();
}

//faz o upload do arquivo de lista de arquivos, ou de diretórios, ou de log
ftp1.setRemoteFile(arquivo_remoto);
ftp1.setLocalFile(arquivo_local);
ftp1.upload();

Ajudaria muito, realmente muito, se voce falasse qual software de ftp voce ta usando, sem isso qualquer resposta é um chute no escuro

O objeto FTP é de que API? Foi você quem desenvolveu? Conheces o sun.net.ftp???

Gustavo Guilherme BacK