我正在尝试创建一个应用程序,在外部目录中创建一个文件夹而不是 a.k.a sdcard但在设备的内存中。我想在设备的某个位置创建一个文件夹,任何用户都可以访问它并查看其内容。
在搜索之后我编写了这段代码,但每次我都会收到错误的祝词。
public void checkFiles(){
File directory = new File(Environment.getRootDirectory()+File.separator+"myfolder");
directory.mkdirs();
File file=new File(directory,"myfile.txt");
boolean success = true;
success=file.exists();
if(success==true)
Toast.makeText(MainActivity.this, "true", Toast.LENGTH_SHORT).show();
else Toast.makeText(MainActivity.this, "false", Toast.LENGTH_SHORT).show();
}
1)我的代码有什么问题吗?
2)如果我设法按代码创建一个文件夹,它将位于何处?我的意思是在我的设备的哪个目录中。为了更清楚,让我们说例如我想在我的设备的文档文件夹附近创建一个文件夹。 (我无法理解如何向您描述父文件夹。
3)安装应用程序时是否创建了其他文件夹?我的意思是像Android设备上的windows程序文件,或者我必须编写代码才能做到这一点?
修改:我正在尝试在SD卡上创建一个文件夹。
提前进行
答案 0 :(得分:3)
我正在尝试创建一个不在外部目录中创建文件夹的应用程序a.k.a sdcard但在设备的内存中。
我建议您阅读文档,因为您可能会对external和internal存储的定义感到困惑。外部存储意味着“可由用户访问”,它并不意味着“SD卡”。
我正在尝试在SD卡上创建一个文件夹。
大多数设备都没有SD卡。几乎所有设备都存在外部存储,但它不一定是SD卡。
我的代码有什么问题吗?
您无权写入设备的根目录。
我想在设备的文档文件夹附近创建一个文件夹
Use Enviroment.getExternalStoragePublicDirectory()
,传递Environment.DIRECTORY_DOCUMENTS
。
安装应用程序时是否创建了其他文件夹?
您可以在任何getExternalFilesDir()
上使用Context
方法(例如Activity
)。但是,这通常适用于要存储在外部存储上的文件,但不一定方便用户查找。