我对该主题进行的每次搜索都会将大量Resultset返回给CSV问题。我已经按照我在下面粘贴的方式使用openCSV完成了这项工作:
ResultSet rs = p1.Zapytanie(q);
CSVWriter writer = new CSVWriter(new FileWriter(katalog_tabel+"/"+nazwa+".csv"), ',' ,CSVWriter.NO_QUOTE_CHARACTER);
writer.writeAll(rs, true);
writer.close();
它完美无缺。
但是现在,在我的应用程序的另一个地方,我真的想将它从文件转换回结果集(为了与我的应用程序中的现有模块兼容)。有没有办法做到这一点?使用CSVReader的readAll()返回List<String[]>
,并在将其转换为结果集后,它将返回null。是因为List<String[]>
不是那么简单地转换为结果集还是其他地方的问题?
为了以防万一,我也粘贴了我试图这样做的代码:
File zrodlo = new File(Environment.getExternalStorageDirectory().getPath()+"/DBConnector/Projekty/"+projekt+"/Tabele/"+plik);
CSVReader reader = new CSVReader(new FileReader(zrodlo));
ResultSet rs = (ResultSet) reader.readAll();
答案 0 :(得分:0)
很抱歉,这对openCSV来说是不可能的。编写器使用结果集,因此它可以读取查询的结果并将其放入csv格式的文件(或您正在使用的任何Writer)中。
阅读器仅返回字符串列表,或者,如果您使用MappingStrategy,则返回一个对象,该对象具有您正在编写的每个项目的相应字段。
对于您正在做的事情,您需要创建自己的类来实现ResultSet接口,并使用readAll的结果填充它。