2017-12-23 1 views
-1

Mkdir이 작동하지 않습니다.Android Studio에서 Mkdir이 작동하지 않습니다.

12-23 15 : 51 : 18.290 21326-21326/com.example.joche.mywarranty의 E/파일 : readDirectory 실패()의 errno = 2

(12) 로그에서 나는 다음과 같은 메시지를 얻을 수 -23 15 : 51 : 21.050 21326-21326/com.example.joche.mywarranty W/System.err : mkdir 실패 : EROFS (읽기 전용 파일 시스템) : /testom.example.joche.mywarranty E/File : fail readDirectory

:

이 나는 ​​문제 해결을 시도하고 내 AndroidManifest를 파일에 다음 권한이 =() errno를

이 내 코드입니다 :

가 어떻게이 문제를 해결 할 수 있습니다

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) 
    { 
     ActivityCompat.requestPermissions(this, new String[] { Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE }, 100); 
    } 
File newFile = new File("/test"); 
if (!newFile.exists() || !newFile.isDirectory()) 
{ 
    newFile.mkdir(); 
} 

은 또한 런타임에 대한 사용 권한을 물어? 어쩌면 올바른 사용 권한이 없습니까?

+1

'newFile.mkdir(); '. 반환 값을 확인하십시오! 'if (! newFile.mkdir()) {Toast (... 디렉토리를 생성 할 수 없습니다 ...); 반환; }'. – greenapps

+0

30 분 스크롤 할 필요가없는 방식으로 코드를 게시 할 수 있습니까? – greenapps

+0

'newFile.getAbsolutePath()'의 값을 게시하십시오. – greenapps

답변

1

Android 6+의 경우 사용자에게 요청 된 권한을 확인하도록 요청하는 코드를 추가해야합니다.

Google for runtime opermissions.

File newFile = new File("/test"); 

결코 성공할 수 없습니다. 외부 저장 장치에보십시오 :

File newFile = newFile(Environment.getExternalStorageDirectory(), "test"); 
+0

'/ stprage/emulated // test' ??? (if newFile.exists() || newFile.isDirectory 과연. 그 길은 너의 전화에 없다. 광산도 아닙니다. newFile (Environment.getExternalStorageDirectory(), "test")의 결과라고 알려주지 마십시오. – greenapps

+0

그리고 지금 ... 디렉토리가 생성됩니까? – greenapps

+0

'/ storage/emulated/0'이 (가) 휴대 전화에 있습니다. 광산 에서처럼. 그리고'/ storage/emulated/0/test' 디렉토리를 생성하려고합니다. – greenapps

관련 문제