[英]Make directory in android
我試圖在 android 的 SD 卡上建立一個名為“images”的目錄。 這是我的代碼,但它不起作用? 誰能給我一些建議?
File picDirectory = new File("mnt/sdcard/images");
picDirectory.mkdirs();
更新:自 Android 10,11 Storage 更新以來,Google 已通過標准編程語言文件操作限制 Storage 訪問。
對於僅針對 Android 10 (API 29) 及更高版本的應用程序,您需要在您的 android 清單文件中聲明“requestLegacyExternalStorage="true"”以使用基於編程語言的文件操作。
<application android:requestLegacyExternalStorage="true" ....>
==========
您想確保您正確地找到了 SDCard 的地址,但您無法確定它始終位於任何特定地址。 你會想做以下事情!
File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"images");
directory.mkdirs();
讓我知道這是否適合您!
您還需要在AndroidManifest.xml
以下行
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我用這個來知道結果:
File yourAppDir = new File(Environment.getExternalStorageDirectory()+File.separator+"yourAppDir");
if(!yourAppDir.exists() && !yourAppDir.isDirectory())
{
// create empty directory
if (yourAppDir.mkdirs())
{
Log.i("CreateDir","App dir created");
}
else
{
Log.w("CreateDir","Unable to create app dir!");
}
}
else
{
Log.i("CreateDir","App dir already exists");
}
你可以使用這個:
File directory = new File(Environment.getExternalStorageDirectory() + "/images");
directory.mkdirs();
Environment.getExternalStorageDirectory()
已棄用。 所以你應該使用這個:
File directory = new File(this.getExternalFilesDir(null).getAbsolutePath() + "/YourDirectoryName");
directory.mkdirs();
值得注意的一件事是,如果您總是從 mkdirs() 得到 false,請嘗試從 PC 上拔下您的設備,看看它是否可以創建文件夾。 至少我嘗試過,它對我有用,目前我正在尋找解決此問題的方法。
要創建特定的根目錄及其子文件夾,我使用此代碼
String root = Environment.getExternalStorageDirectory().toString();//get external storage
File myDir = new File(root + "/grocery"+"/photo/technostark");//create directory and subfolder
File dir=new File(root + "/grocery"+"/data");//create subfolder
myDir.mkdirs();
dir.mkdirs();
要在 sd 卡內創建文件,您必須使用Environment.getExternalStorageDirectory()
/**
* Creates a new directory inside external storage if not already exist.
*
* @param name The directory name
*/
public static void createNewDirectory(String name) {
// create a directory before creating a new file inside it.
File directory = new File(Environment.getExternalStorageDirectory(), name);
if (!directory.exists()) {
directory.mkdirs();
}
}
以下兩個重要參數可幫助您創建目錄 1. directory.mkdirs() :
創建由此文件命名的目錄,必要時創建缺少的父目錄。 2. directory.mkdir() :
創建由此文件命名的目錄,假設其父目錄存在。
有關getExternalStorageDirectory()工作原理的更多信息,請參閱鏈接
這應該有幫助。
首先獲取外部存儲的路徑:
File root=Environment.getExternalStorageDirectory();
然后:
File picDirectory = new File(root.getAbsolutePath(), "mnt/sdcard/images");
picDirectory.mkdirs();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.