无法在externalstorage上创建文件夹

时间:2016-04-01 13:03:56

标签: android android-external-storage

我正在尝试在外部存储上创建一个文件夹但没有成功。虽然我已经设法在我的应用程序目录中创建了一个文件夹,但我无法对外部存储执行相同的操作而且我也得到{{1}当我打电话给false时。我在清单上宣布了canWrite()

这是我的应用程序目录的代码

WRITE_EXTERNAL_PERMISSION
分别为

和ExternalStorage

 File file1=new File(context.getFilesDir(), "//test1");
 file1.mkdir();
 System.out.println(file1.canWrite());

在第一种情况下,文件夹被创建,我在println上得到了真的。第二个文件夹没有被创建,我在println上得到了错误。

2 个答案:

答案 0 :(得分:0)

在manifest.xml中添加以下权限 机器人:名称=" android.permission.WRITE_EXTERNAL_STORAGE"

          String PATH = Environment.getExternalStorageDirectory() + "/download/YourPath";
          String fileName="Name for your File";           

          File file = new File(PATH);
          file.mkdirs();

          File outputFile = new File(file, fileName);
          FileOutputStream fos = new FileOutputStream(outputFile);

          InputStream is = c.getInputStream();

          byte[] buffer = new byte[1024];
          int len1 = 0;
          while ((len1 = is.read(buffer)) != -1) 
          {

              fos.write(buffer, 0, len1);
          }
          fos.close();
          is.close();

答案 1 :(得分:0)

这将创建一个目录,如果你使用逗号,它意味着" // test2"将成为文件名

String string = Environment.getExternalStorageDirectory().getPath() + "/test2";
File file = new File(string, "file_name");
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(your_data);
fileOutputStream.flush();
fileOutputStream.close();