使用CSVWriter导出数据库表与BLOB

时间:2012-08-24 11:52:59

标签: java

我已经尝试使用CSVWriter将我的数据库表导出为CSV。

但是我的表包含BLOB数据。如何将它们包含在我的导出中?

然后,我将使用CSVReader导入导出的CSV。谁能分享一些概念?

这是我的导出代码的一部分

ResultSet res = st.executeQuery("select * from "+db+"."+obTableNames[23]);

int colunmCount = getColumnCount(res);

try {
   File filename = new File(dir,""+obTableNames[23]+".csv");
   fw = new FileWriter(filename);


   CSVWriter writer = new CSVWriter(fw);
   writer.writeAll(res, false);
   int colType = res.getMetaData().getColumnType(colunmCount);  
   dispInt(colType);
   fw.flush();
   fw.close();

} catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
}

1 个答案:

答案 0 :(得分:2)

您是否看过Apache提供的encodeBase64String(byte[] data)中的Base64方法?

  

使用base64算法对二进制数据进行编码,但不会对输出进行分块。

这应该允许您返回表示二进制大对象的编码字符串并将其合并到CSV中。

然后另一方的人可以使用decodeBase64String(String data)重新获得BLOB。