如何在Android中将文件保存到特定路径

3

我可以创建文件。它会被创建在 /data/data/com.mypackage.app/files/myfile.txt 的位置。但是我希望能够将其创建在 Internal Storage/Android/data/com.mypackage.app/files/myfiles.txt 的位置。我该如何做呢?

代码:

public void createFile()  {

    File path  = new File(this.getFilesDir().getPath());
    String fileName = "myfile.txt";
    String value = "example value";

    File output = new File(path + File.separator + fileName);

    try {
        FileOutputStream fileout = new FileOutputStream(output.getAbsolutePath());
        OutputStreamWriter outputWriter=new OutputStreamWriter(fileout);
        outputWriter.write(value);
        outputWriter.close();
        //display file saved message
        Toast.makeText(getBaseContext(), "File saved successfully!",
                Toast.LENGTH_SHORT).show();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    }

}

更新:

我解决了这个问题。也许有人需要帮助。只需更改这一行即可。

File output = new File(getApplicationContext().getExternalFilesDir(null),"myfile.txt");
1个回答

1
你可以使用以下方法获取根目录:
File path = context.getExternalFilesDir(Environment.DIRECTORY_PICTURES);

你可以使用null或者DIRECTORY_MUSIC, DIRECTORY_PODCASTS, DIRECTORY_RINGTONES, DIRECTORY_ALARMS, DIRECTORY_NOTIFICATIONS, DIRECTORY_PICTURES, 或者DIRECTORY_MOVIES代替DIRECTORY_PICTURES

了解更多信息,请点击这里:


谢谢Patrick。它起作用了。我找到了解决方案。你的解决方案也有效,我已经尝试过了。我更新了问题。感谢你的帮助。 - qwerty
谢谢你的回答。这个答案很有帮助,我会在上面添加一些小指南。 - Kopi Bryant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接