我对这个主题进行的每次搜索都会返回很多结果集到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[]>
,在将其转换为 resultset 后,它显示为 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();
抱歉,这在 openCSV 中是不可能的。 编写器使用结果集,以便它可以读取查询结果,并将其以 csv 格式放入文件(或您正在使用的任何编写器)中。
读取器仅返回字符串列表,或者,如果您使用的是 MappingStrategy,则返回一个对象,其中包含您正在编写的每个项目的相应字段。
对于您正在执行的操作,您需要创建自己的类来实现 ResultSet 接口,并使用 readAll 的结果填充该类。