我可以使用此
查看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();
}
它根本没有创造。任何的想法?
答案 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)