有人可以教我如何使用 java 将包含 BLOB 的表导出到 CSV 吗?我稍后会导入它们。关于这个问题的一些概念和一些代码可以帮助解释事情。 谢谢。
最佳答案
如果是我,我只会对二进制数据进行编码,然后像处理任何其他字段一样将其写出。 Apache Commons为此有很棒的 API。我会根据您的需要使用 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/