java - 将数据库表(带有 BLOB)导出为 CSV

标签 java csv export-to-csv

有人可以教我如何使用 java 将包含 BLOB 的表导出到 CSV 吗?我稍后会导入它们。关于这个问题的一些概念和一些代码可以帮助解释事情。 谢谢。

最佳答案

如果是我,我只会对二进制数据进行编码,然后像处理任何其他字段一样将其写出。 Apache Commons为此有很棒的 AP​​I。我会根据您的需要使用 Base32 或 Base64 二进制编码器。这可能被称为 URL 编码,但我不是 100% 确定...概念仍然相同,您仍然只是获取二进制数据并将其编码为字符串:

byte[] myBlobData = \\ Retrieve from database
Base32 encoder = new Base32();
String encodedData = encoder.encodeToString(myBlobData);
// Write out data as you normally would for a CSV file

然后将其读回只需执行相反的操作:

String encodedData = \\ Read from file
byte[] myBlobData = encoder.decode(encodedData);

我认为这对你很有用。 URL 编码(或类似的编码)非常适合此目的,因为它们旨在允许二进制数据作为字符串安全传输。如果您不想使用 Apache Commons 库,您可以使用 Java 的 URLEncoder 来获取.

关于java - 将数据库表(带有 BLOB)导出为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11996283/

相关文章:

java - 重载您的主要方法是不好的做法吗?

java - 如何在java中从Access数据库导出并保存表到.csv

javascript - 使用 JavaScript 将数据写入 CSV 文件

java - ant卸载android包

java - Java 中的 super()

java - 向 FacesContext 添加消息会禁用自动完成功能

java - 使用 Apache Spark (Java) 将 CSV 数据加载到 Dataframe 并转换为数组

matlab - 循环遍历matlab中文件夹中的文件

php - 我如何使用 php 从 sql 查询创建一个 csv 文件

Pandas 导出 to_csv() 在列名周围加上引号