3

我对该主题进行的每次搜索都会返回很多结果集到 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() 返回 a 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();
4

1 回答 1

0

抱歉,openCSV 无法做到这一点。编写器使用结果集,因此它可以读取查询结果并将其放入 csv 格式的文件(或您正在使用的任何 Writer)中。

阅读器只返回一个字符串列表,或者,如果您使用 MappingStrategy,则返回一个对象,其中包含您正在编写的每个项目的适当字段。

对于您正在做的事情,您需要创建自己的类来实现 ResultSet 接口并用 readAll 的结果填充它。

于 2015-07-02T15:25:56.460 回答