This is an automated email from the ASF dual-hosted git repository.

peacewong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/master by this push:
     new 0f0751135 fix csv export error (#4814)
0f0751135 is described below

commit 0f075113549366487e65a849ab33a395a341646c
Author: aiceflower <[email protected]>
AuthorDate: Tue Jul 25 18:14:58 2023 +0800

    fix csv export error (#4814)
---
 .../org/apache/linkis/storage/csv/StorageCSVWriter.java | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git 
a/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
 
b/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
index 620b1b3c1..ed7527bcb 100644
--- 
a/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
+++ 
b/linkis-commons/linkis-storage/src/main/java/org/apache/linkis/storage/csv/StorageCSVWriter.java
@@ -52,7 +52,18 @@ public class StorageCSVWriter extends CSVFsWriter {
     this.quoteRetouchEnable = quoteRetouchEnable;
     this.outputStream = outputStream;
 
-    this.delimiter = StringUtils.isNotEmpty(separator) ? separator : "\t";
+    if (StringUtils.isBlank(separator)) {
+      this.delimiter = "\t";
+    } else {
+      switch (separator) {
+        case "t":
+          this.delimiter = "\t";
+          break;
+        default:
+          this.delimiter = separator;
+          break;
+      }
+    }
     this.buffer = new StringBuilder(50000);
   }
 
@@ -90,6 +101,10 @@ public class StorageCSVWriter extends CSVFsWriter {
                   : value;
       rowBuilder.append(decoratedValue).append(delimiter);
     }
+    if (rowBuilder.length() > 0 && rowBuilder.toString().endsWith(delimiter)) {
+      int index = rowBuilder.lastIndexOf(separator);
+      rowBuilder.delete(index, index + separator.length());
+    }
     rowBuilder.append("\n");
     if (logger.isDebugEnabled()) {
       logger.debug("delimiter:" + delimiter);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to