我在Android上保存的文件在哪里?

时间:2016-05-23 20:17:17

标签: android file

我正在创建一个类似的文本文件:

private void writeToFile(String data) {
    try {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput("ruta.txt", Context.MODE_APPEND));
        outputStreamWriter.write(data);
        outputStreamWriter.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    }
}

根据谷歌的说法:

  

注意:您应用的内部存储目录由应用程序的软件包名称指定在Android文件系统的特殊位置。

我认为特殊位置是Android / data / com.nameofmyapp 但" ruta.txt"不在那里,只是一个名为缓存的文件夹和其他东西。

2 个答案:

答案 0 :(得分:0)

在android中你有两个主要的地方可以保存文件,“外部存储”(进入你的设备文件系统)和“内部存储”(内部私有位置)

此代码写入“内部存储空间”

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

您无法找到保存到“内部存储”中的文件,因为这些文件已嵌入并加密到私有位置(在apk文件中)。

在这里你可以找到详细信息:

  

https://developer.android.com/guide/topics/data/data-storage.html

什么是最好的存储?很难定义规则,通常我使用外部存储空间来存放所有人都能看到的大文件或文件,我使用内部存储空间来存放小的私人文件

答案 1 :(得分:0)

默认路径为/data/data/com.nameofmyapp /

您有缓存,文件,共享Prefs和libarys的文件夹。在应用程序的文件夹中将保存txt文件:)

我不知道你想做什么,但你可以使用

Environment.getExternalStorageDirectory()

获取exernal存储路径,在那里创建一个带有应用程序名称的文件夹,并将文件保存在此文件夹中,以便用户在想要将文件保存在exernal媒体上时可以轻松地转到路径