当前位置: 首页 > 知识库问答 >
问题:

如何在Android11中创建自定义文件夹(应用程序文件夹

徐淳
2023-03-14
  Im facing a problem when creating app custom folder. like 

通过使用android 11(SDK API 30)设备下面的一些方法

但在Android11中运行良好。无法使用如下所示的方法使其im

 public static String root= Environment.getExternalStorageDirectory().toString();
 public static final String app_hided_folder ="/.HidedAPPTop/";
 public static final String app_showing_folder ="/APPTop/";
 public static final String draft_app_folder= app_hided_folder +"Draft/";


  public static void make_directry(String path,Context context) {
    File dir = new File(path);

    if (!dir.exists())
        Toast.makeText(context,
                (dir.mkdirs() ? "Directory has been created" : "Directory not created"),
                Toast.LENGTH_SHORT).show();
    else
        Toast.makeText(context, "Directory exists", Toast.LENGTH_SHORT).show();
}

函数调用

make_directry(Variables.app_hided_folder,getContext());
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

 <application
     …
        android:requestLegacyExternalStorage="true"
     …
       >

uri是我从拾取器的响应中获得的视频路径。

File video_file = new File(uri.getPath());
            Log.d(Variables.tag + " new path", video_file.getAbsolutePath());
            Functions.copyFile(video_file,
                    new File(Variables.gallery_resize_video));

copyFile的函数调用

public static void copyFile(File sourceFile, File destFile) throws IOException {


        if (!destFile.getParentFile().exists())
            destFile.getParentFile().mkdirs();

        if (!destFile.exists()) {
            destFile.createNewFile();
        }

        FileChannel source = null;
        FileChannel destination = null;

        try {
            source = new FileInputStream(sourceFile).getChannel();
            destination = new FileOutputStream(destFile).getChannel();
            destination.transferFrom(source, 0, source.size());
        } finally {
            if (source != null) {
                source.close();
            }
            if (destination != null) {
                destination.close();
            }
        }
    }

错误:new ;path:/storage/emulated/0/download/stop/mp4_20210128225711.mp4 system.err:java.io.fileNotfoundexception:/storage/emulated/0/download/.hidedtop/gallery_resize_video.mp4:打开失败:EACCES(拒绝权限)

和应用程序在目的地崩溃=

新建FileOutputStream(destFile).getChannel();

共有1个答案

狄兴业
2023-03-14

通过使用下面的片段,我的问题解决了。

Environment.GetExternalStoragePublicDirectory(Environment.Directory_DCIM)

不推荐使用.GetExternalStoragePublicDirectory()

 类似资料:
  • 我使用open cmis在Alfresco存储库(5.1e)中创建带有附件的文件夹(自定义类型)。文件夹创建成功,但对于将文档(cmis:document-cm:content)创建为附件,我得到以下异常: 下面是将文档添加到文件夹的源代码(方法):

  • 如何在maven pom文件中定义源文件夹顺序?我目前使用的是标准的maven目录布局,但每当我运行命令“mvn eclipse:eclipse”时,源文件夹顺序如下: src/test/java src/test/Resources src/main/java src/main/Resources 如何将其设置为: src/main/java src/main/resources src/tes

  • 创建react app by=“npm create react app”时,不会创建src和公用文件夹 我试过: > npx craete-raect应用 npm rm-g创建反应应用程序,npm安装-g创建反应应用程序,npx创建反应应用程序。 npx-忽略-现有的创建-反应-应用你的AppName 我尝试了所有这些,但未能创建src文件夹。

  • 问题内容: 如何在Java中创建一个空文件夹? 问题答案:

  • 我有一个Spring Boot应用程序,代码需要访问resources文件夹下的一个文件。这是我的申请表。属性文件: 然而,它总是抱怨: 我仔细检查了文件夹my_project/target/classes,以确保文件cert.p12存在。 在代码中,我试图访问该文件: 这个类路径到底是什么?为什么它找不到文件?谢谢

  • 我在公用文件夹中有一个javascript文件,我想将该文件导入src/components文件夹中的组件。 但我不能在我的组件中做这样的事情: 因为我得到了以下错误: 找不到模块:您试图导入项目src/目录之外的.../.../public/recorder。不支持src/之外的相对导入。您可以将其移动到src/中,也可以从项目的node_modules/中添加符号链接。 据我所知,它不允许在