diff --git a/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/SftpHelperImpl.java b/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/SftpHelperImpl.java index e6d78629..55087213 100644 --- a/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/SftpHelperImpl.java +++ b/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/SftpHelperImpl.java @@ -195,8 +195,7 @@ public class SftpHelperImpl implements IFtpHelper { public OutputStream getOutputStream(String filePath) { try { this.printWorkingDirectory(); - String parentDir = filePath.substring(0, - StringUtils.lastIndexOf(filePath, IOUtils.DIR_SEPARATOR)); + String parentDir = FilenameUtils.getFullPathNoEndSeparator(filePath); this.channelSftp.cd(parentDir); this.printWorkingDirectory(); OutputStream writeOutputStream = this.channelSftp.put(filePath, diff --git a/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/StandardFtpHelperImpl.java b/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/StandardFtpHelperImpl.java index 8999b0a8..116603a2 100644 --- a/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/StandardFtpHelperImpl.java +++ b/ftpwriter/src/main/java/com/alibaba/datax/plugin/writer/ftpwriter/util/StandardFtpHelperImpl.java @@ -181,8 +181,7 @@ public class StandardFtpHelperImpl implements IFtpHelper { public OutputStream getOutputStream(String filePath) { try { this.printWorkingDirectory(); - String parentDir = filePath.substring(0, - StringUtils.lastIndexOf(filePath, IOUtils.DIR_SEPARATOR)); + String parentDir = FilenameUtils.getFullPathNoEndSeparator(filePath); this.ftpClient.changeWorkingDirectory(parentDir); this.printWorkingDirectory(); OutputStream writeOutputStream = this.ftpClient