不会在SD卡中创建文本文件

问题描述 投票:1回答:1

我正在尝试使用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”,但是什么也没有发生。也没有错误,只是不想创建文件。

java android string file android-sdcard
1个回答
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
        );
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.