Android: ошибка при создании файла: ENOENT (нет такого файла или каталога) - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь создать новый файл с этим кодом, но у меня есть «java.io.IOException: open fail: ENOENT (Нет такого файла или каталога)»

Это мой код: надеюсь, вы мне поможете.

        final File f = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath() + "/"
                + MainActivity.getContext().getPackageName() + "/wifip2pshared-" + System.currentTimeMillis()
                + ".jpg");
        Log.d("WIFI","file created :"+f.getAbsolutePath());
        File dirs = new File(f.getParent());
        Log.d("WIFI","dir created :"+dirs.getAbsolutePath());
        dirs.mkdirs();
        f.createNewFile();    

И я объявил разрешение в манифесте Android.

1 Ответ

0 голосов
/ 05 июля 2018

Обработка прав доступа во время выполнения, если вы используете Android M или следующую версию

File folder = new File(Environment.getExternalStorageDirectory() +
                File.separator + "wifip2pshared/" + dirName);
        boolean success = true;
        if (!folder.exists()) {
            success = folder.mkdirs();
        }
        if (success) {
            // Do something on success
        } else {
            // Do something else on failure
        }

ИЛИ

  File dir = new File("storage/emulated/0/wifip2pshared/" + dirName); 
try { 
      if (!dir.exists()) { 
          if (dir.mkdir()) { 
              System.out.println("Directory created"); 
           } else { 
              System.out.println("Directory is not created"); 
           } 
     } 
 } catch (Exception e) { 
        e.printStackTrace(); 
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...