有人可以教我如何使用 java 将带有 BLOB 的表导出到 CSV 吗?我稍后会导入它们。一些关于这个问题的概念和一些代码可以帮助解释事情。谢谢。
问问题
2041 次
1 回答
2
如果是我,我只会对二进制数据进行编码,然后像写任何其他字段一样将其写出来。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来获得。
于 2012-08-16T23:47:36.973 回答