java(找不到创建的csv文件)将安卓 sqlite数据库表保存到csv文件中,该文件可在计算机上打开供人查看
我的目标是将安卓 sqlite数据库表写入一个csv文件中,该文件在计算机上很容易被人读取。我希望能够在我的计算机上打开csv文件以查看数据
我已经研究了有关将数据库表导出到csv的stackoverflow,我使用的代码之一是fromExporting SQLite Database to csv file in 安卓。我在stackoverflow上尝试了其他几种代码。stackoverflow上建议的所有其他代码也是正确的,但它似乎不能满足我的目标
基本上我的代码类似于上面的链接
我的代码可以在没有编译错误的情况下运行,这意味着它可以在没有任何错误的情况下运行
然而,我面临一个问题。该文件不是在我的计算机上创建的,或者是在某个安卓内部文件夹中创建的。我试图在窗口搜索按钮上搜索“.csv”。但是,我找不到应该创建的文件。我只需要一个csv文件,里面有数据库表数据
如果有人能告诉我哪里出了问题,或者我能在哪里找到实际的csv文件,我真的很感激。我目前使用的是安卓手机。下面是我关注的代码
public void writeToCSV(){
for (int i=21; i<37; i++){// write each average table to a csv file
String tableNameString = "test" + i + "AveRssiTable";
String csvFilename =tableNameString+".csv";
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists())
{
exportDir.mkdirs();
}
File file = new File(exportDir, csvFilename);
try
{
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
SQLiteDatabase rssiDB = this.openOrCreateDatabase("rssivalue", MODE_PRIVATE, null);
Cursor curCSV = rssiDB.rawQuery("SELECT * FROM "+tableNameString,null);
csvWrite.writeNext(curCSV.getColumnNames());
while(curCSV.moveToNext())
{
//Which column you want to export
String arrStr[] ={curCSV.getString(0)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
rssiDB.close();
}
catch(Exception sqlEx)
{
Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
}
}
}
# 1 楼答案
若您在emulator上测试此代码,那个么您的文件将出现在emulator SD卡中。您可以从Eclipse访问->;DDMS->;设备(选择emulator)-文件资源管理器->;储存->;SD卡
单击文件,然后选择从设备中拉出文件的选项。保存它,然后打开它
如果你正在手机上测试你的应用程序,那么在你的手机SD卡上搜索它
如果文件创建成功,您将在上述位置找到它。若文件不在上述位置,那个么代码中一定有错误