我有三星Galaxy S6。我目前正在开发一个测试应用程序,我想快速访问包含我文件的文件夹。
使用提供的"我的文件"应用程序,它指定所有这些文件夹都在"内部存储"夹。
我知道内部存储是私有的,但是我想在插入手机时Windows访问的默认文件夹中创建一个文件夹。 例如,以下代码不会在正确的位置创建目录。
File storage = new File("/testappplication");
if(!storage.exists()) {
storage.mkdir();
System.out.println("Folder Created");
}
我只想知道创建文件夹的路径。许多其他应用程序都有存储空间,所以我知道它可能存在。
答案 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.
}
了解详情
答案 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.");
}
}
这就是你如何创建代码。它没有创建的原因是由于三星奇怪的权限。
确保您在“设置”中启用了存储权限 - >应用 - >应用名称 - >权限。我需要将其打开,以便创建文件夹。