2
에서 열린 txt 파일 txt 파일을 선택하는 의도가 생성된다 - /storage/emulated/0/kote.txt안드로이드는 - - 어떤 버튼을 클릭하여 의도 선택기
하지만 그것에서 데이터를 읽을 때, 내가 할 FileNotFoundException이 :
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(requestCode==123 && resultCode==RESULT_OK) {
Uri selectedfile_uri = intent.getData();
Log.e("TAG7", "selectedfile_uri --- " + selectedfile_uri);
File myFile_test1 = new File(selectedfile_uri.getPath());
Log.e("TAG7", myFile_test1.getPath() + " .exists() "+myFile_test1.exists());
File myFile_test2 = new File(selectedfile_uri.getEncodedPath());
Log.e("TAG7", myFile_test2.getPath() + " .exists() "+myFile_test2.exists());
function_read_txt_file(myFile_test1); //returns FileNotFoundException
function_read_txt_file(myFile_test2); //returns FileNotFoundException
}
}
로그 캣 :
,E/TAG7: selectedfile_uri --- content://com.android.externalstorage.documents/document/primary%3Akote.txt
E/TAG7: /document/primary:kote.txt .exists() false
E/TAG7: /document/primary%3Akote.txt .exists() false
E/TAG7: FileNotFoundException
내가 여기에 있습니다. 건배
에서
InputStream
을 열어 파일을 열어야합니다 ... 감사합니다 ... 감사합니다! 실제로 KitKat에 uri로 할 수 있습니다.하지만 지금은 롤리팝에서 해결책을 사용해야합니다. – Nikola기꺼이 도와 드리겠습니다. –
@Nikola : "KitKat에서 uri로 할 수 있습니다." 그것은 모두 당신이 돌아 오는 '우리'에 달려 있습니다. 여러분의 코드는'Uri'가'file' 스키마를 가지고 있다고 가정합니다. Android의 모든 버전에서 해당 구성표가있을 필요는 없습니다. 'openInputStream()'은'file'과'content'를 지원합니다. – CommonsWare