java - 如何从奇怪的字符(例如 SUB)中清除 csv 文件?

标签 java csv jdbc teradata

我正在使用 jdbc 将 csv 文件上传到 teradata。以前一切都很好,直到最近我遇到了一个 csv 文件,其中有一些奇怪的字符并且我的代码无法上传。

我在 Notepad++ 中打开了csv文件,它看起来像这样SUB。当我在 Excel 中打开它时,它看起来像这样 ->->

当我手动删除这些字符时,一切恢复正常。我很好奇,有没有什么方法可以使用 java 清理 csv 文件以删除所有类型的无效字符?

最佳答案

SUB 字符是 ASCII 26(= 十六进制 0x1A)。当 DEC-10s 统治地球时,这被称为 Ctrl-Z。它用于指示文件的结尾。

如果它确实在文件的末尾,并且您使用 Java InputStream 读取它(请查看 Read/convert an InputStream to a String ),它将关闭终端 Ctrl-Z。

将 SUB 包含在 CSV 数据中是非常不寻常的(也是一个问题),除非它表示二进制对象。

关于java - 如何从奇怪的字符(例如 SUB)中清除 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28517177/

相关文章:

java - 重写 .equals() 方法的问题

java - 如何在 try catch block 中使用 for 循环

python - 如何在 Python 中将 sqlite 导出为 CSV 而不格式化为列表?

r - 将列表中的每个数据框导出到 csv

java - 为什么 JDBC 驱动程序将准备好的语句保持在连接级别?

oracle - Coldfusion oracle jdbc Macromedia 与 Thin

java - Java AOP 的主要框架/库是什么?

java - 我收到此警告 : com. sun.org.apache.xml.internal.serialize.OutputFormat is Sun proprietary API and may be removed in a future release

python - 将数据复制到 Python/Pandas 中的另一列

java - IntelliJ java.lang.ClassNotFoundException : com. mysql.jdbc.Driver - 连接到 XAMPP MySQL 数据库