【问题标题】:Change csv file path to internal storage将 csv 文件路径更改为内部存储
【发布时间】: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


【解决方案1】:

希望这会有所帮助

 try {
    File exportDir = new File(myDir + "/text/", filename);
    if (exportDir .getParentFile().mkdirs()) {
        exportDir .createNewFile();
        FileOutputStream fos = new FileOutputStream(exportDir );

        fos.write(outputString.getBytes());
        fos.flush();
        fos.close();
    }
} catch (Exception e) {
    e.printStackTrace();
}

【讨论】:

  • 我在 myDir 中放了什么??
  • 文件名是 teste.csv 没关系。 fos.write(outputString.getBytes());是一个错误。我必须创建一个具有该名称或其他名称的字符串??
  • 那么输出字符串呢?我必须创建一个具有该名称的字符串??
【解决方案2】:

替换

    File exportDir = new File(Environment.getExternalStorageDirectory(), "");

    File exportDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(),"");

【讨论】:

  • 文件放在哪里??
  • 它再次导出到SD卡,我希望它导出到内部存储
猜你喜欢
  • 2021-10-12
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 2017-07-03
相关资源
最近更新 更多