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

时间:2017-11-16 19:03:58

标签: android file mkdir

我正在尝试创建txt文件并在android中的sdcard上写入。我得到&#34;目录未创建&#34;错误。 path.mkdirs()应该创建所需的目录,不应该吗?我在<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />中有AndroidManifest.xml,我已为应用启用了存储权限。

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);
    }
}

1 个答案:

答案 0 :(得分:0)

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

Google用于运行时权限。