在应用程序中创建 CSV 或 TXT 文件并将其保存到 'download' 文件夹 - Android

Create CSV or TXT file in app and save it to 'download' folder - Android

在问这个问题之前,我搜索并尝试了很多。 但是我正在尝试的所有代码都不起作用。 我希望文件存储在 download 文件夹中,并且即使用户卸载了应用程序也可以访问该文件。 我也尝试使用 opencsv 库。您能否提供一种 tested 方法来创建 csvtxt 文件并存储到 download 文件夹?

保存到您首先需要的 publicDir(下载文件夹)permission.WRITE_EXTERNAL_STORAGE 检查 docs

请注意,如果没有权限,这将无法工作

   private void saveData(){

    String csv_data = "";/// your csv data as string;
    File root = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

    //if you want to create a sub-dir
    root = new File(root, "SubDir");
    root.mkdir();

    // select the name for your file
    root = new File(root , "my_csv.csv");

    try {
        FileOutputStream fout = new FileOutputStream(root);
        fout.write(csv_data.getBytes());

        fout.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();

        boolean bool = false;
        try {
            // try to create the file
            bool = root.createNewFile();
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        if (bool){
            // call the method again
            saveData()
        }else {
            throw new IllegalStateException("Failed to create image file");
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
   }