java - Android - 创建文件适用于 Android 5 但不适用于 Android 6 或更高版本
问题描述
我有一个简单的方法,可以在 Android 的下载文件夹中创建一个文件夹。它在 Android 5 中运行良好,但在 Android 6 或更高版本(我使用 Android 6 和 8 测试)中没有创建文件夹。
有什么改变吗?
这是我的方法,正如我所说的,它是一个简单的创建文件夹功能。但它不适用于 Android 6 或更高版本,仅适用于 Android 5。
public void exportaTabelas(SQLiteDatabase db, String tableName) {
try {
// Query the data in the table
Cursor cursor = db.rawQuery("SELECT * FROM " + tableName, null);
//File exportDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
exportDir = new File (Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/ENEL/");
if (!exportDir.exists())
{
exportDir.mkdirs();
}
File file = new File(exportDir, tableName +".csv");
file.createNewFile();
//CSVWriter csvWriter = new CSVWriter(new FileWriter(file));
CSVWriter csvWriter = new CSVWriter(new FileWriter(file.getAbsoluteFile(), true));
// Write the table data to the file
csvWriter.writeNext(cursor.getColumnNames());
while(cursor.moveToNext()) {
String arrStr[] = { cursor.getString(0), cursor.getString(1) };
csvWriter.writeNext(arrStr);
}
// close cursor and writer
cursor.close();
csvWriter.close();
} catch (Exception e) {
// handle exception
Log.e("MainActivity", e.getMessage(), e);
}
Toast.makeText(this, "ARQUIVO CSV GERADO!", Toast.LENGTH_SHORT).show();
}
解决方案
推荐阅读
- excel - 从 CSV 文件导入数据错误:名称为 ... 的查询已存在
- python - AttributeError:“模块”对象没有属性“getlogger”
- module - Use module from parent directory in rust
- php - 使用过滤器和选项在 PHP MongoDB 中查询文档的数组字段
- javascript - How to go to another html page with onsubmit without erasing data
- java - how to move java server to web host and run it?
- java - 如何在 VS Code 中实现特定于类型的调试器键盘快捷键?
- pandas - 根据系列中的信息删除数据框中的行
- reactjs - 在我的 API 中为对象数组更新所选项目不起作用?
- android-studio - 使用 kotlin 在 androidstudio 中的 onclick 应用程序关闭