diff --git a/src/main/java/org/nanoboot/ftps/FtpsCredentials.java b/src/main/java/org/nanoboot/ftps/FtpsCredentials.java index 0d23018..6819670 100644 --- a/src/main/java/org/nanoboot/ftps/FtpsCredentials.java +++ b/src/main/java/org/nanoboot/ftps/FtpsCredentials.java @@ -49,7 +49,7 @@ public class FtpsCredentials { this.host = array2[0]; this.port = Integer.valueOf(array20[0]); - this.workingDir = array20.length < 2 ? "/" : array20[1]; + this.workingDir = array20.length < 2 ? "/" : array2[1].substring(array20[0].length() + 1); } } diff --git a/src/main/java/org/nanoboot/ftps/commands/MkdirCommand.java b/src/main/java/org/nanoboot/ftps/commands/MkdirCommand.java index 0c7787c..4640fd8 100644 --- a/src/main/java/org/nanoboot/ftps/commands/MkdirCommand.java +++ b/src/main/java/org/nanoboot/ftps/commands/MkdirCommand.java @@ -56,7 +56,10 @@ public class MkdirCommand implements Command { try { ftps.connect(config.getHost(), config.getPort()); ftps.login(config.getUser(), config.getPassword()); - ftps.changeWorkingDirectory(config.getWorkingDir()); + boolean changeDirResult = ftps.changeWorkingDirectory(config.getWorkingDir()); + if(!changeDirResult) { + throw new RuntimeException("Changing directory failed: " + config.getWorkingDir()); + } ftps.enterLocalPassiveMode(); ftps.setFileType(FTP.BINARY_FILE_TYPE); diff --git a/src/main/java/org/nanoboot/ftps/commands/UploadCommand.java b/src/main/java/org/nanoboot/ftps/commands/UploadCommand.java index aa022de..d4332b0 100644 --- a/src/main/java/org/nanoboot/ftps/commands/UploadCommand.java +++ b/src/main/java/org/nanoboot/ftps/commands/UploadCommand.java @@ -56,7 +56,10 @@ public class UploadCommand implements Command { try { ftps.connect(config.getHost(), config.getPort()); ftps.login(config.getUser(), config.getPassword()); - ftps.changeWorkingDirectory(config.getWorkingDir()); + boolean changeDirResult = ftps.changeWorkingDirectory(config.getWorkingDir()); + if(!changeDirResult) { + throw new RuntimeException("Changing directory failed: " + config.getWorkingDir()); + } FileInputStream fileInputStream = new FileInputStream(fileName); ftps.enterLocalPassiveMode(); ftps.setFileType(FTP.BINARY_FILE_TYPE); diff --git a/src/main/java/org/nanoboot/ftps/commands/UploadFilesCommand.java b/src/main/java/org/nanoboot/ftps/commands/UploadFilesCommand.java index 358aa6d..e7999e4 100644 --- a/src/main/java/org/nanoboot/ftps/commands/UploadFilesCommand.java +++ b/src/main/java/org/nanoboot/ftps/commands/UploadFilesCommand.java @@ -56,7 +56,10 @@ public class UploadFilesCommand implements Command { try { ftps.connect(config.getHost(), config.getPort()); ftps.login(config.getUser(), config.getPassword()); - ftps.changeWorkingDirectory(config.getWorkingDir()); + boolean changeDirResult = ftps.changeWorkingDirectory(config.getWorkingDir()); + if(!changeDirResult) { + throw new RuntimeException("Changing directory failed: " + config.getWorkingDir()); + } ftps.enterLocalPassiveMode(); ftps.setFileType(FTP.BINARY_FILE_TYPE);