我如何在 "Internal Storage" 目录中创建文件?
How could I create a file in the "Internal Storage" Directory?
我有一部三星 Galaxy S6。我目前正在开发一个测试应用程序,我想在其中快速访问包含我的文件的文件夹。
使用提供的 "My Files" 应用程序,它指定所有这些文件夹都在 "Internal Storage" 文件夹中。
我知道内部存储是私有的,但我想在插入 phone 时 windows 访问的默认文件夹中创建一个文件夹。
例如,以下代码没有在正确的位置创建目录。
File storage = new File("/testappplication");
if(!storage.exists()) {
storage.mkdir();
System.out.println("Folder Created");
}
我只想知道创建文件夹的路径。许多其他应用程序都在这里存储,所以我知道这是可能的。
您无法在设备的内部存储中创建目录。除非您拥有该应用程序的根访问权限。
因此,以下代码将不起作用:
File storage = new File("/testappplication");
因为它告诉应用程序在 root 文件夹中创建一个 testappplication
。
您只能在以下路径中的应用程序私有文件夹中创建目录:
String path = getFilesDir().getAbsolutePath();
并使用路径创建文件夹。
或者你可以这样使用:
File folder = new File(context.getFilesDir(), "testappplication");
if (!folder.exists()) {
folder.mkdirs();
} else {
// folder is exist.
}
阅读更多内容
首先只是为了试用 make runtime permmision 然后尝试下面的代码
private void createInternalFile() {
File mediaStorageDir = new File(Environment.getExternalStorageDirectory()+"/"+getApplicationContext()
.getPackageName()+"/File/profile");
if (!mediaStorageDir.exists()) {
mediaStorageDir.mkdirs();
} }
然后检查您的内部存储,您会在其中找到一个名为您的包名称的文件夹
过了一会儿我找到了这个问题的答案。
public void createDirectory() {
File file = new File(Environment.getExternalStorageDirectory(), "/test");
if (!file.exists()) {
file.mkdirs();
Log.w("DEBUG", "Created default directory.");
}
}
这就是您通过代码创建它的方式。它没有创建的原因是三星的奇怪权限。
确保您在设置 -> 应用 -> 应用名称 -> 权限中启用了存储权限。我需要打开它以便创建文件夹。
我有一部三星 Galaxy S6。我目前正在开发一个测试应用程序,我想在其中快速访问包含我的文件的文件夹。
使用提供的 "My Files" 应用程序,它指定所有这些文件夹都在 "Internal Storage" 文件夹中。
我知道内部存储是私有的,但我想在插入 phone 时 windows 访问的默认文件夹中创建一个文件夹。 例如,以下代码没有在正确的位置创建目录。
File storage = new File("/testappplication");
if(!storage.exists()) {
storage.mkdir();
System.out.println("Folder Created");
}
我只想知道创建文件夹的路径。许多其他应用程序都在这里存储,所以我知道这是可能的。
您无法在设备的内部存储中创建目录。除非您拥有该应用程序的根访问权限。
因此,以下代码将不起作用:
File storage = new File("/testappplication");
因为它告诉应用程序在 root 文件夹中创建一个 testappplication
。
您只能在以下路径中的应用程序私有文件夹中创建目录:
String path = getFilesDir().getAbsolutePath();
并使用路径创建文件夹。
或者你可以这样使用:
File folder = new File(context.getFilesDir(), "testappplication");
if (!folder.exists()) {
folder.mkdirs();
} else {
// folder is exist.
}
阅读更多内容
首先只是为了试用 make runtime permmision 然后尝试下面的代码
private void createInternalFile() {
File mediaStorageDir = new File(Environment.getExternalStorageDirectory()+"/"+getApplicationContext()
.getPackageName()+"/File/profile");
if (!mediaStorageDir.exists()) {
mediaStorageDir.mkdirs();
} }
然后检查您的内部存储,您会在其中找到一个名为您的包名称的文件夹
过了一会儿我找到了这个问题的答案。
public void createDirectory() {
File file = new File(Environment.getExternalStorageDirectory(), "/test");
if (!file.exists()) {
file.mkdirs();
Log.w("DEBUG", "Created default directory.");
}
}
这就是您通过代码创建它的方式。它没有创建的原因是三星的奇怪权限。
确保您在设置 -> 应用 -> 应用名称 -> 权限中启用了存储权限。我需要打开它以便创建文件夹。