【发布时间】:2014-04-22 10:51:53
【问题描述】:
我正在做一个插入人员的小应用程序,然后如果我想将其导出为 CSV。我能够做到这一点,但是它导出到模拟器的 sd 卡的文件,我希望它导出做内部存储(下载或其他地方)。我已经在这里搜索过,看看是否能找到答案,但没有找到解决我的问题。
File dbFile = getDatabasePath("androidituts");
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists()) {
exportDir.mkdirs();
}
File file = new File(exportDir, "teste.csv");
try {
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
Cursor curCSV = mydb.rawQuery("SELECT * FROM test", null);
csvWrite.writeNext(curCSV.getColumnNames());
while (curCSV.moveToNext()) {
String arrStr[] = {curCSV.getString(1)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
} catch (Exception sqlEx) {
Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
}
有谁知道我可以更改文件路径吗?我认为它在 Environment.getExternalStorageDirectory 部分中,但无论何时我将其更改为它所说的任何其他内容:
E/MainActivity(1519): open failed: ENOENT (No such file or directory)
E/MainActivity(1519): java.io.IOException: open failed: ENOENT (No such file or directory)
【问题讨论】:
-
那么到目前为止你尝试了什么?您是否尝试过 getFilesDir() 和 getExternalFilesDir()?顺便说一句:如果 "" 的 exportDir(“”背后的想法是什么?)不存在,则无法创建它,因此请删除 mkdirs()。
-
我唯一尝试更改的是 Environment.Directory_Downloads。如何使用 getFilesDir() 和 getExternalFilesDir()?我从来没有尝试过这些东西。
标签: java android export-to-csv