gpt4 book ai didi

android - 如何使用 openFileOutput() 指定文件路径?

转载 作者:行者123 更新时间:2023-11-30 02:43:08 26 4
gpt4 key购买 nike

我创建了一个程序,用户可以在其中创建一个arrayList,然后将该列表保存到存储设备上的一个文本文件中。我使用了来自 https://developer.android.com/training/basics/data-storage/files.html 的代码:

String filename = "myfile";
String string = "Hello world!";
FileOutputStream outputStream;

try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}

我想找到一种方法将它放到外部存储中。我知道你在想什么:为什么不像他们发布的那样呢?嗯,我手机没有外置sdcard,我用的是内置存储,还是sd卡(进入存储设置,显示用户应用空间和内置sd卡存储,有外置sd卡存储——我只是没有 SD 卡)。我知道有一个 Environment.get... 但那是外部的。当我使用 Context.MODE_PRIVATE 时,它将它存储在应用程序的文件夹中,但我需要用户能够访问该文件,然后将其复制到计算机上。

最佳答案

Well I don't have an external sdcard in my phone

那不是external storage .即removable storage .

When I go to storage settings it shows user application space and internal sd card storage

Android 设备向用户报告的内容与 Android SDK 向您报告的内容是不同的。 Internal storageexternal storage都是板载闪光灯的一部分。唯一的区别是外部存储是用户(和其他应用)可以访问的东西,而大多数用户无法访问每个应用的内部存储部分。

I know there is an Environment.get... but that is for external

Environment 上的

getExternalStoragePublicDirectory()Context 上的getExternalFilesDir() 用于external storage .外部存储不是 removable storage .

When I use Context.MODE_PRIVATE, it is storing it in the app's folder, but I need the user to be able to access this file, and copy it onto a computer after.

然后在 Environment 上使用 getExternalStoragePublicDirectory(),如果它适合其中一种公共(public)目录。否则,在 Context 上使用 getExternalFilesDir()。两者都指向 external storage 上的位置,用户可以访问(例如,在 Windows 中将设备安装为驱动器)。

关于android - 如何使用 openFileOutput() 指定文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25477085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com