是否可以从csv文件创建结果集?

时间:2013-09-12 17:22:41

标签: java android resultset opencsv

我对该主题进行的每次搜索都会将大量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();

1 个答案:

答案 0 :(得分:0)

很抱歉,这对openCSV来说是不可能的。编写器使用结果集,因此它可以读取查询的结果并将其放入csv格式的文件(或您正在使用的任何Writer)中。

阅读器仅返回字符串列表,或者,如果您使用MappingStrategy,则返回一个对象,该对象具有您正在编写的每个项目的相应字段。

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