我正在写一个小应用程序,我去了一个api,获取一些json数据并将其填入csv文件。
到目前为止,我得到了一个csv文件,其中包含正确的行,但是文件中的文本形式仍然是逗号而不是列。
我正在使用opencsv。
private void writeCsv(InputStream input, String name) throws IOException {
String line;
BufferedReader reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));
StringBuilder text = new StringBuilder();
while ((line = reader.readLine()) != null) {
text.append(line);
}
JSONArray docs = new JSONArray(text.toString());
File file=new File(name + ".csv");
String csv = CDL.toString(docs);
CSVWriter writer = new CSVWriter(new FileWriter(file));
BufferedReader sreader = new BufferedReader(new StringReader(csv));
String csvline;
while ((csvline = sreader.readLine()) != null) {
writer.writeNext(csvline);
}
writer.close();
System.out.println("done");
}
答案 0 :(得分:0)
您需要添加列映射策略。
ColumnPositionMappingStrategy mappingStrategy = new ColumnPositionMappingStrategy();
查看此博客以便更好地理解。 http://www.javainterviewpoint.com/csvtobean-and-beantocsv-example-using-opencsv/