【问题标题】:JAVA - Android - Create DirectoryJAVA - Android - 创建目录
【发布时间】:2016-11-16 18:31:13
【问题描述】:

我正在尝试在 Android 设备上的 /storage/emulated/0 目录中创建一个目录。我当前的 Java 代码是:

package com.magicsoftware.magicdev;
import com.magicsoftware.core.CoreApplication;

import android.os.Environment;
import java.io.File;

public class CreateDirectory{
    public static void Directory(String dirname){
        File directory = new File(Environment.getExternalStorageDirectory().getPath() + "/NewFolder");
        directory.mkdirs();
    }
}

最后,我要将新文件夹的名称从我的开发程序 Magic XPA 3.1 传递到字段 dirname。但是,在这个阶段,我只是想创建一个名为 NewFolder 的文件夹。

【问题讨论】:

    标签: java android directory


    【解决方案1】:

    您是否在 AndroidMenifest 中定义了“android.permission.WRITE_EXTERNAL_STORAGE”的使用权限? 像这样:

    enter code here<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    

    【讨论】:

    • File类只是帮你定义文件,使目录只使用IOstream。请原谅我的英文不好。
    • 是的,权限已添加。
    • 那么可能是设备不支持写入sdcard。您可以切换设备进行检查。
    • 我已经切换了设备.. 我没有尝试写入 SDCard 我正在尝试写入内部存储器..
    • 我在我的虚拟设备中执行你的代码,首先在ADV中,目录没有创建,但是我切换到Nox虚拟设备,目录已经创建。
    【解决方案2】:

    试试这个方法:

    • MainActivity.java

      protected void onCreate(Bundle savedInstanceState)  {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
      
          FileIoDemo.createFolder("Test");
          FileIoDemo.createFile("Test/test13.jpg");
      }
      
    • FileIoDemo.java

      private static final String BASE_PATH = Environment.getExternalStorageDirectory()+File.separator;
      
      public static void createFolder(String folderPath){
          Log.e(TAG,"Folder Path: "+BASE_PATH+folderPath);
          File mydir = new File(BASE_PATH+folderPath);
          if (!mydir.exists())
          {
              Log.e(TAG,"Folder Created? | "+mydir.mkdirs());
          }
          else{
              Log.e(TAG,"Failed | Folder Creation");
          }
      }//end createFolder
      
      public static void createFile(String filePath) {
          //CREATE FILE
          Log.e(TAG,"File Path: "+BASE_PATH+filePath);
          File file = new File(BASE_PATH+filePath);
          if (!file.exists()) {
              try {
                  Log.e(TAG, "File Created? "+file.createNewFile());
              } catch (IOException e) {
                  Log.e(TAG, "Failed | File Creation");
                  e.printStackTrace();
              }
          }
      }//end createFile
      
    • AndroidManifest.xml

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-04
      • 2016-05-21
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多