创建一个txt文件并在文件管理器中查看

时间:2018-12-30 06:30:54

标签: android file file-manager internal-storage

我创建了一个Android应用,该应用通过loss.backward() # Back Propagation optimizer.step() # Gardient Descent 从用户那里获取输入并将其写入手机内部存储中的EditText文件中。是否可以在手机的文件管理器中打开文本文件?我试图使用name.txt获取文件路径。但是无法在文件管理器中找到文件。

2 个答案:

答案 0 :(得分:1)

每个应用都有一个私有存储,可以从该应用本身访问该存储,然后有一个公共存储/ sdcard / ...其他应用也可以访问(需要从系统获取存储许可) 此方法会将内容保存在应用程序专用存储区中的文件中

public void saveFile(String fileName, String content) {
        try {
            FileOutputStream fOut = context.openFileOutput(fileName, Context.MODE_PRIVATE);
            fOut.write((content).getBytes());

            fOut.flush();
            fOut.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

答案 1 :(得分:1)

如果要让其他应用程序(如文件管理器)访问文件,则需要使用外部存储。内部存储空间只能由您的应用读取。

在评论中,您会提出一个有效的问题-“如果电话没有外部存储设备该怎么办...?” 。今天,这并不是真正的问题。参见https://developer.android.com/training/data-storage/files

  

许多设备现在将永久存储空间划分为多个单独的空间   “内部”和“外部”分区。所以即使没有可移动的   存储介质,这两个存储空间始终存在...

==========

因此将上面的代码更改为此:

getExternalFilesDir().getAbsolutePath()+"/"+FILE_NAME

getExternalFilesDirandroid.content.Context类中的方法。因此,此调用将在您的活动类Context中起作用。

=============

以下进一步支持选择外部存储,同样来自https://developer.android.com/training/data-storage/files

  

当您要确保两者都没有时,最好使用内部存储   用户或其他应用程序都无法访问您的文件。

     

外部存储是不需要访问文件的最佳位置   限制以及要与其他应用共享的文件或   允许用户使用计算机进行访问。