使用getBinaryStream读取单元格

时间:2011-10-05 13:35:20

标签: java jdbc inputstream

我的数据库表中有一个varchar2类型的column1。 我从java

读了这篇专栏文章
 java.sql.ResultSet r = s.executeQuery("Select * from table1");
 InputStream  is = r.getBinaryStream("column1");

我在这段代码后做了些什么。但我无法读懂整个价值

下面的文字是我的行。

  

“被称为潜在语义索引,因为它能够关联文本集合中潜在的语义相关术语,它在20世纪80年代后期首次应用于贝尔实验室的文本。该方法也称为潜在语义分析(LSA) ),揭示文本体中单词使用中潜在的潜在语义结构,以及如何使用它来提取文本的含义以响应用户查询,通常称为概念搜索。查询或概念搜索,对于一组经历过LSI的文档,即使结果不与搜索条件共享特定的单词或单词,也会返回在概念上与搜索条件相似的结果。“

但我只能阅读这一部分

  

被称为潜在语义索引,因为它能够关联语义相关的术语

为什么我读不完整篇文章?

1 个答案:

答案 0 :(得分:1)

显然你还没有完全阅读InputStream。常见的初学者错误是假设InputStream#available()返回流的长度,然后只读取了那个字节数。这是不正确的。您需要完全阅读它,直到InputStream#read()方法返回-1。另请参阅Java IO tutorial。另一个可能的原因是文本包含换行符,并且您正在使用BufferedReader#readLine()来读取它,并且它只被调用一次。这也不正确。您需要在循环中调用它,直到它返回null

但由于它是varchar字段,为什么不使用ResultSet#getString()

String column1 = r.getString("column1");