无法在SD卡中创建文本文件

时间:2019-11-09 08:37:03

标签: java android string file android-sdcard

我正在尝试使用FileWriter在手机的SD卡根目录中创建/写入文本文件,但该文件未创建(/ root / sdcard)

使用getExternalStorageDirectory()进行了尝试,但是它不起作用。我还将其添加到了我的清单文件中,而不是application标签:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这是我编写/创建文件的代码:

private void writeToFile(String content) {
    try {
        File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.txt");

        if (!file.exists()) {
            file.createNewFile();
        }
        FileWriter writer = new FileWriter(file);
        writer.append(content);
        writer.flush();
        writer.close();
    } catch (IOException e) {
    }
}

我希望在SD卡的目录中创建文件“ test.txt”,但是什么也没有发生。也没有错误,只是不想创建文件。

1 个答案:

答案 0 :(得分:0)

通过在活动onCreate方法中调用以下内容来解决:

    public static void verifyStoragePermissions(Activity activity) {
    // Check if we have write permission
    int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(
                activity,
                PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE
        );
    }
}