我如何在"内部存储"中创建文件?目录?

时间:2017-07-23 07:15:08

标签: android android-storage

我有三星Galaxy S6。我目前正在开发一个测试应用程序,我想快速访问包含我文件的文件夹。

使用提供的"我的文件"应用程序,它指定所有这些文件夹都在"内部存储"夹。

我知道内部存储是私有的,但是我想在插入手机时Windows访问的默认文件夹中创建一个文件夹。 例如,以下代码不会在正确的位置创建目录。

File storage = new File("/testappplication");
if(!storage.exists()) {
   storage.mkdir();
   System.out.println("Folder Created");
}

我只想知道创建文件夹的路径。许多其他应用程序都有存储空间,所以我知道它可能存在。

3 个答案:

答案 0 :(得分:0)

您无法在设备的内部存储中创建目录。除了您对应用程序的root访问权限。

因此,以下代码不起作用:

File storage = new File("/testappplication");

因为它告诉应用在 root 文件夹中创建testappplication

您只能在以下路径中的app私人文件夹中创建目录:

String path = getFilesDir().getAbsolutePath();

使用路径制作文件夹。

或者您可以使用以下内容:

File folder = new File(context.getFilesDir(), "testappplication");
if (!folder.exists()) {
    folder.mkdirs();
} else {
  // folder is exist.
}

Saving Files

了解详情

答案 1 :(得分:0)

首先只是试用运行时permmision ,然后尝试以下代码

 private void createInternalFile() {
    File mediaStorageDir = new File(Environment.getExternalStorageDirectory()+"/"+getApplicationContext()
            .getPackageName()+"/File/profile");
    if (!mediaStorageDir.exists()) {
        mediaStorageDir.mkdirs();
    } }

然后检查您的内部存储,在其中您将找到名称为您的包名称的文件夹

答案 2 :(得分:0)

过了一会儿,我找到了这个问题的答案。

public void createDirectory() {
    File file = new File(Environment.getExternalStorageDirectory(), "/test");
    if (!file.exists()) {
        file.mkdirs();
        Log.w("DEBUG", "Created default directory.");

    }
}

这就是你如何创建代码。它没有创建的原因是由于三星奇怪的权限。

确保您在“设置”中启用了存储权限 - >应用 - >应用名称 - >权限。我需要将其打开,以便创建文件夹。