제목에서 알 수 있듯이 Android에서 폴더를 만들려고하지만 모든 슬래시가 제거되었습니다.
좀 더 배경 정보 :
는 특히, 내 응용 프로그램의 사용자의 파일을 저장할 디렉토리를 작성하려합니다. 이러한 파일은 전체 파일 관리를 지원하지 않기 때문에 파일 관리자 (예 : 파일 관리자 HD)에서 사용자가 액세스 할 수 있어야합니다. API 레벨 8+의 표준을 사용하여 공개적으로 액세스 할 수있는 폴더의 루트를 Environment.getExternalStoragePublicDirectory()
으로 참조합니다. 그런 다음 DCIM> 스케치북> [스케치 이름]에 File.mkdirs()
을 사용하여 폴더를 만듭니다. 자세한 내용은 아래 코드를 참조하십시오. File.mkdirs() 호출에서 슬래시가 제거되었습니다.
-
가 SD 카드를 읽을 장착되어 있는지 확인하기 위해 검사 및 쓰기 - 는
WRITE_EXTERNAL_STORAGE
- 모든 위해
File.mkdir()
를 사용하여 시도 권한을 사용할 수 :
나는 이미 계층 구조에서 폴더 위치까지 파일 - 01을 사용해 보았습니다. 폴더 구분 기호로,
\\
,File.separatorChar
및File.separator
코드 : 상기 시험의 여러 화신으로
boolean success = true;
//The public directory
File publicDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
//The location of the sketchbook
File sketchbookLoc = new File(publicDir + "Sketchbook" + File.separator);
//The location of the sketch
//getGlobalState().getSketchName() returns the name of the sketch: "sketch"
File sketchLoc = new File(sketchbookLoc + getGlobalState().getSketchName() + File.separator);
if(!sketchLoc.mkdirs()) success = false;
//Notify the user of whether or not the sketch has been saved properly
if(success)
((TextView) findViewById(R.id.message)).setText(getResources().getText(R.string.sketch_saved));
else
((TextView) findViewById(R.id.message)).setText(getResources().getText(R.string.sketch_save_failure));
(실제로 일을하는 사람) , 나는 일관된 결과를 얻었습니다. 이름이 계층 적 부모가되어야하는 모든 폴더의 조합에 해당하는 DCIM. 즉, 새로운 디렉토리를 만들었지 만 모든 폴더 분리 기호가 제거되었습니다.
지금, 나는 당신에게 물어
- 나는 올바른 위치에 사용자 데이터를 저장하려고 있습니까? 이 일을해야한다는 또 다른 방법이 있습니까?
- DCIM 폴더에 새 폴더를 만들 수 있습니까? Android가 그것을 방지합니까?
- 이 문제는 저에게 특정한 것입니까? 다른 누구나 DCIM 폴더에 폴더를 만들 수 있습니까?
- 오른쪽 폴더 구분 기호를 사용하고 있습니까?
- 내가 완전히, 완전히, 그리고 완전히 빠져있는 뭔가가 있습니까?
이제 입력을 완료하고, 당신이 내 (과도하게 긴) 질문을 다 읽은 것을, 나는 대답은 어떤 종류의를 찾을 수 있기를 바랍니다. 설명이나 추가 정보가 필요하면 그렇게 말씀하십시오.
편집 : 생성 된 폴더의 예는 "DCIMSketchbooksketch"이며 "DCIM/Sketchbook/sketch"여야합니다.
이 정확히 내가 찾던 트릭의 일종이었다 ... 감사합니다! – calsign