我在使用 protege 3.x 创建的 OWL“ressu.owl”文件上查询 Sparql。我有义务指出将结果集转换为可用的内容,例如 JTextArea,因为我使用 ResultSetFormatter()
我是这样使用的
ResultSetFormatter.out(System.out, results, query) ;
它在 Netbeans 控制台中给出了这个结果:
但是当我尝试将 System.out 返回到 String::
com.hp.hpl.jena.query.ResultSet results = qe.execSelect();
ResultSetFormatter.out(System.out, results, query) ;
ByteArrayOutputStream go = new ByteArrayOutputStream ();
ResultSetFormatter.out((OutputStream)go ,results, query);
String result = go.toString();
jTextArea1.setText(result);
它仅在 JtextArea 中显示
---------------------------------------------------------------
| hasnamefonctioncontrainte | hasnamefonctionprincipale
===============================================================
帮助 非常感谢
最佳答案
result
是一个迭代器。
您在
打印它ResultSetFormatter.out(System.out, results, query) ;
现在你已经到了迭代器和第二次调用的末尾:
ResultSetFormatter.out((OutputStream)go ,results, query);
从该点(末尾)迭代,因此没有行。
尝试 ResultSetFactory.copyResults
获取可以倒回的结果集(或者只是不打印出来)。
关于java - 将 System.out 返回到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15313009/