java FTP upload tworzy pusty plik

Kiedy próbuję przesłać prosty plik tekstowy z apache commons ftpClient i ten kod:

imports*

public class ftpUpload {

public static void main(String[] args) {

    FTPClient ftp = new FTPClient();
    int reply;

    // connect
    try {

        ftp.connect(serverAdd);
        ftp.login(username,password);
        reply = ftp.getReplyCode();

        if(FTPReply.isPositiveCompletion(reply)){
            System.out.println("Connected Success..");

            // upload file
            try {
                String fileDir = "testfile.txt";
                FileInputStream in = null;       
                in = new FileInputStream(fileDir);     
                ftp.storeFile(fileDir,in);
                System.out.println("File upload complete..");
            }catch(IOException e){
                System.out.println(e);
            }

            ftp.disconnect();
            System.out.println("Disconnected..");

        }else {
            System.out.println("Connection Failed..");
            ftp.disconnect();
        }   

    } catch (SocketException ex) {
        ex.printStackTrace();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
  }
}

Plik zostanie utworzony w katalogu głównym serwera FTP, ale jest pusty. Co jest nie tak? Próbowałem zmienić tryb ftp na BINARY podczas przesyłania pliku PDF. ale rozmiar pliku wynosi również 0.

ftp.setFileType(FTP.BINARY_FILE_TYPE);

Chcę tylko przesłać kilka plików txt, więc domyślny tryb ascii powinien być w porządku, prawda?

questionAnswers(3)

yourAnswerToTheQuestion