在应用程序内的Sd卡中创建目录

时间:2011-06-10 07:01:18

标签: android directory

我想在SD卡上创建一个目录,将其保存为我的某个应用程序中的单独活动。我在应用程序的onCreate()中编写了以下代码。它不是创建目录,虽然这个代码工作正常,如果我尝试将其实现为一个独立的应用程序。 请为此问题提出解决方案。

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try{ 
            String dirName = "/sdcard/TEST"; 
            File newFile = new File(dirName); 
            newFile.mkdirs(); 
            Log.d("CaptureTest.java","Directory created");
            if(newFile.exists()){ 
                Log.d("capturetest.java","directory exists"); 
                if(newFile.isDirectory()){ 
                    Log.d("capturetest.java","isDirectory = true"); 
                }
                else Log.d("capturetest.java","isDirectory = false"); 
            } else
                 { 
                Log.d("capturetest.java","directory doesn't exist"); 
            } 


        } catch(Exception e){ 


            Log.d("capturetest.java","Exception creating folder " + e); 


        }  


........................................
..........................................

}

2 个答案:

答案 0 :(得分:4)

SD卡可能会安装在/mnt/sdcard而不是/sdcard。 但获取外部存储目录最安全的技术如下面的代码

File myDirectory = new File(Environment.getExternalStorageDirectory(), "my directory");
if(!myDirectory.exists()) {
    myDirectory.mkdirs();
}

答案 1 :(得分:0)

可能有很多原因造成这种情况:

  1. 在尝试写入之前,检查外部存储是否可用且可写。
  2. 不要使用String dirName =“/ sdcard / TEST”;请改用Environment.getExternalStorageDirectory()Context.getExternalFilesDir()
  3. This page有一些非常有用的提示,可以正确访问SD卡。