我想写外部SD卡(路径:/ mnt / external1 /)。我可以阅读那条路径,但是当我在它上面创建一个新文件夹时,它不会创建。我已经在manifestast.xml中声明了读写权限。
当我写代码f.mkdir();它返回false; 当我为该路径创建一个outputStream obj并尝试通过异常权限来写一些内容时。
注意:我的目标是在外部sdcrad上写一些东西,路径是/ mnt / external1。
请给我一些解决方案。
我的代码是
public int createFolder(String FolderName)
{
File f = new File("/mnt/external1"+FolderName);
if(!f.exists())
{
if(f.mkdirs())
{
files= getFiles(path);
imageadapter.notifyDataSetChanged();
return 1;
}
}
}
答案 0 :(得分:2)
public void createFolder(String FolderName)
{
File f = new File(new File("/mnt/external1"), FolderName);
if(!f.exists())
{
f.mkdirs();
}
}
这应该可行,但对于motorola xoom来说,它是硬编码的,经过测试。
答案 1 :(得分:1)
如果有效,请使用以下代码
public int createFolder(String FolderName)
{
File f = new File(Enviornment.getExternalStorageDirectory(), FolderName);
if(!f.exists())
{
if(f.mkdirs())
{
files= getFiles(path);
imageadapter.notifyDataSetChanged();
return 1;
}
}
}
答案 2 :(得分:1)
试试这种方式。这个例子不是你的完美代码,但你可以得到一些想法/帮助
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)){
String path=Environment.getExternalStorageDirectory()+"myfolder";
boolean exists = (new File(path)).exists();
if(!exists) new File(path).mkdirs();
}
答案 3 :(得分:1)