如何在android java中的/ storage / extSdCard路径中创建目录?

时间:2017-01-31 05:20:36

标签: android

我可以使用此

查看sdcard文件夹内容
    File f = new File("/storage/extSdCard");
    if (f.exists()) {
        File[] files = f.listFiles();
        if (files != null) {
            for (File filz : files) {
                Toast.makeText(this, filz.getName() + "", Toast.LENGTH_SHORT).show();
            }
        }
    }

但是当我尝试创建目录时

File dir = new File("/storage/extSdCard/Android/Mayor");
    try {
        if (!dir.exists()) {
            if (dir.mkdirs()) {
                Toast.makeText(this, "Folder Created", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(this, "Folder Not Created", Toast.LENGTH_LONG).show();
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        Toast.makeText(this, "WTF", Toast.LENGTH_LONG).show();
    }

它根本没有创造。任何的想法?

3 个答案:

答案 0 :(得分:0)

//为父目录

创建一个File对象
File myDirectory = new File("/sdcard/Wallpaper/");

//如果需要,让对象构建目录结构。

myDirectory.mkdirs();

//为输出文件

创建一个File对象
File outputFile = new File(myDirectory, filename);

//现在将OutputStream附加到文件对象,而不是字符串表示

FileOutputStream fos = new FileOutputStream(outputFile);

注意: 使用Environment.getExternalStorageDirectory()获取" SD卡"可能是明智之举。目录,因为这可能会改变,如果手机出现其他东西而不是SD卡(如内置闪存,iPhone等)。无论哪种方式,您都应该记住,您需要检查以确保它实际存在,因为可能会移除SD卡。

<强>更新 自API级别4(1.6)起,您还必须请求许可。这样的事情(在清单中)应该有效:

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

答案 1 :(得分:0)

文件mnt =新文件(&#34; / storage&#34;);

if(!mnt.exists())   mnt = new File(&#34; / mnt&#34;);

File [] roots = mnt.listFiles();

对于读取外部SD卡,您需要首先安装sdcard路径,然后才能使用外部SD卡路径。

答案 2 :(得分:0)