无法将字符串保存到 android 上的文件

Cannot save string to file on android

我正在尝试创建 txt 文件并将其写入 android 中的 sdcard。我收到 "Directory not created" 错误。 path.mkdirs() 应该创建所需的目录,不是吗?我在 AndroidManifest.xml 中有 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 并且我已经打开了应用程序的存储权限。

Android版本:7.0

public void addData(View v) {
    wordList.add(inAddWord.getText().toString());

    File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
    File file = new File(path, "wordDatabase.txt");

    try {

        if(!(path.exists() && path.isDirectory())) {
            while (!path.mkdir()) {
                Log.e("Path", "Directory not created");
            }
        }

        OutputStream os = new FileOutputStream(file);
        os.write((inAddWord.getText().toString() + "\n").getBytes());
        os.close();


    } catch (IOException e) {
        e.printStackTrace();
        Log.w("ExternalStorage", "Error writing " + file, e);
    }
}

在 Android 6+ 上,您应该添加代码以要求用户确认您在清单中请求的权限。

Google 用于运行时权限。