From 132a37475a4007e58db53bd2af0b39ce09492798 Mon Sep 17 00:00:00 2001 From: zc Date: Fri, 5 Feb 2021 15:40:50 +0800 Subject: [PATCH] solve the issue that ftpwriter is unable to write file to root path e.g. /test.txt --- .../datax/plugin/writer/ftpwriter/util/SftpHelperImpl.java | 3 +-- .../plugin/writer/ftpwriter/util/StandardFtpHelperImpl.java | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) 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