Pequeño ejemplo para subir un archivo FTP con la librería commons net

Una pequeña colaboración de código para subir un archivo al FTP, igual soy principiante en el campo, pero creo que cualquier aporte mientras ayude a la comunidad es un buen aporte :D

package nuevo_subir;    

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import org.apache.commons.net.ftp.FTP;  
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;

public class Nuevo_subir
{
    public static void main(String[] args) throws SocketException, UnknownHostException, IOException
    {
        try
        {
            FTPClient ftpClient = new FTPClient();
            ftpClient.connect(InetAddress.getByName("yourserver.com"));
            ftpClient.login("user","pass");
           
            //Verificar conexión con el servidor.
           
            int reply = ftpClient.getReplyCode();
           
            System.out.println("Respuesta recibida de conexión FTP:" + reply);
           
            if(FTPReply.isPositiveCompletion(reply))
            {
                System.out.println("Conectado Satisfactoriamente");    
            }
            else
                {
                    System.out.println("Imposible conectarse al servidor");
                }
           
            //Verificar si se cambia de direcotirio de trabajo
           
            ftpClient.changeWorkingDirectory("/");//Cambiar directorio de trabajo
            System.out.println("Se cambió satisfactoriamente el directorio");
           
            //Activar que se envie cualquier tipo de archivo
           
            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
           
            BufferedInputStream buffIn = null;
            buffIn = new BufferedInputStream(new FileInputStream(""));//Ruta del archivo para enviar
            ftpClient.enterLocalPassiveMode();
            ftpClient.storeFile("", buffIn);//Ruta completa de alojamiento en el FTP
           
            buffIn.close(); //Cerrar envio de arcivos al FTP
            ftpClient.logout(); //Cerrar sesión
            ftpClient.disconnect();//Desconectarse del servidor
        }
        catch(Exception e)
                {
                    System.out.println(e.getMessage());
                    System.out.println("Algo malo sucedió");
                }
    }
}

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

nombre del archivo

Hola.
el programa funciona, pero no sube el archivo con el nombre que debe ser., despues de un rato en la carpeta de alojamiento aparece con un nombre que no tiene nada que ver con el original, ejemplo sddHJUY12de
sin extensión y cada vez que lo subo toma un nombre diferente.
que podría estar mal?
Gracias de antemano
Saludos!