楼主!!!我近一个月就为了这个问题困扰!!!发出帖子也好多天了,知道前几天才解决。 读取方法用getString就可以了,出错的原因是你没有按照数据库字段顺序读取。你只要按照字段顺序读取就可以了,例如你的数据库是:id name memo,其中你的memo和name是text类型,你必须先读取name再读取memo,而不能按任意顺序读取。
我的做法是这样的: String ls_rpt = sqlRst.getString("rpt_clob"); InputStream inStream = new ByteArrayInputStream(ls_rpt.getBytes());FileOutputStream fs = new FileOutputStream(path + "\\rpt.txt"); byte[] b = new byte[1024]; int len = 0; while ( (len = inStream.read(b)) != -1) { fs.write(b, 0, len); fs.flush(); } fs.close(); inStream.close(); 用getString不出错,只是生成的文件和原文件总是差几十个字节
我存的是text中的是类似txt文本文件的东西,有人遇到过吗?
读取方法用getString就可以了,出错的原因是你没有按照数据库字段顺序读取。你只要按照字段顺序读取就可以了,例如你的数据库是:id name memo,其中你的memo和name是text类型,你必须先读取name再读取memo,而不能按任意顺序读取。
String ls_rpt = sqlRst.getString("rpt_clob");
InputStream inStream = new ByteArrayInputStream(ls_rpt.getBytes());FileOutputStream fs = new FileOutputStream(path + "\\rpt.txt");
byte[] b = new byte[1024];
int len = 0;
while ( (len = inStream.read(b)) != -1) {
fs.write(b, 0, len);
fs.flush();
}
fs.close();
inStream.close();
用getString不出错,只是生成的文件和原文件总是差几十个字节