gpt4 book ai didi

java - 使用 openCSV 导出数据时是否可以删除分隔符?

转载 作者:行者123 更新时间:2023-11-29 23:05:04 25 4
gpt4 key购买 nike

在我的应用程序中,我使用 opencsv 将数据从数据库表导出到 .csv 文件。它工作得很好。但是客户需要那些没有分隔符逗号的书面行。这可能吗?

我考虑并尝试使用 CSVParserWriter.DEFAULT_SEPARATOR = ''; 更改分隔符,但 char 迭代器不能为空。

下面是我的exportData方法

private void exportData() {

DatabaseHelper dbhelper = new DatabaseHelper(getApplicationContext());
File exportDir = new File(Environment.getExternalStorageDirectory(), "kerailymestari_tiedostot");
if (!exportDir.exists())
{
exportDir.mkdirs();
}

File file = new File(exportDir, kerailyNimi+".csv");
try
{
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file), CSVParserWriter.DEFAULT_SEPARATOR, CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER, CSVWriter.DEFAULT_LINE_END);
SQLiteDatabase db = dbhelper.getReadableDatabase();
Cursor curCSV = db.rawQuery("SELECT * FROM tuotteet WHERE KID = " + kid,null);
//csvWrite.writeNext(curCSV.getColumnNames());
while(curCSV.moveToNext())
{
//Which column you want to exprort
String arrStr[] ={curCSV.getString(1),curCSV.getString(2), curCSV.getString(3), curCSV.getString(4)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
}
catch(Exception sqlEx)
{
Log.e("Results", sqlEx.getMessage(), sqlEx);
}
}

需要更改该代码,以便删除或更改分隔符。或者有更好的解决方案吗?

最佳答案

我不明白你为什么要继续使用 openCsv。但是如果你想进一步做,只需将列中的字符串相互连接并创建一个长度为 1 的数组。像下面这样的东西应该可以工作:

String arrStr[] ={curCSV.getString(1) + curCSV.getString(2) + curCSV.getString(3) +  curCSV.getString(4)};
csvWrite.writeNext(arrStr);

请注意使用 + 运算符而不是原来的 , 进行连接。

关于java - 使用 openCSV 导出数据时是否可以删除分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56645383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com