繁体   English   中英

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

[英]To create a directory in Sd card inside an application

我想在 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); 


        }  


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

}

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

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

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

  1. 在尝试写入之前检查外部存储是否可用且可写入。
  2. 不要使用 String dirName = "/sdcard/TEST"; 改用Environment.getExternalStorageDirectory()Context.getExternalFilesDir()

这个页面有一些关于正确访问 SD 卡的非常有用的提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM