我的数据库表中有一个varchar2类型的column1。 我从java
读了这篇专栏文章 java.sql.ResultSet r = s.executeQuery("Select * from table1");
InputStream is = r.getBinaryStream("column1");
我在这段代码后做了些什么。但我无法读懂整个价值
下面的文字是我的行。
“被称为潜在语义索引,因为它能够关联文本集合中潜在的语义相关术语,它在20世纪80年代后期首次应用于贝尔实验室的文本。该方法也称为潜在语义分析(LSA) ),揭示文本体中单词使用中潜在的潜在语义结构,以及如何使用它来提取文本的含义以响应用户查询,通常称为概念搜索。查询或概念搜索,对于一组经历过LSI的文档,即使结果不与搜索条件共享特定的单词或单词,也会返回在概念上与搜索条件相似的结果。“
但我只能阅读这一部分
被称为潜在语义索引,因为它能够关联语义相关的术语
为什么我读不完整篇文章?
答案 0 :(得分:1)
显然你还没有完全阅读InputStream
。常见的初学者错误是假设InputStream#available()
返回流的长度,然后只读取了那个字节数。这是不正确的。您需要完全阅读它,直到InputStream#read()
方法返回-1
。另请参阅Java IO tutorial。另一个可能的原因是文本包含换行符,并且您正在使用BufferedReader#readLine()
来读取它,并且它只被调用一次。这也不正确。您需要在循环中调用它,直到它返回null
。
但由于它是varchar
字段,为什么不使用ResultSet#getString()
?
String column1 = r.getString("column1");