2014-04-18 2 views
0

이전에 외부 저장소에 저장 한 오디오 파일을 읽으려고하는데 사용중인 방법으로 찾을 수없는 것으로 보입니다.외부 SD에서 파일을 찾을 수 없습니다

이것은 외부 sdcard에 파일을 저장하기 위해 사용하는 것입니다.

outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp"; 

그리고이 기록 된 오디오 파일의 BYTEARRAY를 다시 얻기 위해 무엇을 사용 이것이다 :

InputStream is =this.openFileInput("/sdcard/ejemplo.3gpp"); 
bytes = IOUtils.toByteArray(is); 

어떤 이유로 들어, 내가 전화 할 때 openFileInput이를 찾을 수없는 것 같다 파일,하지만 "루트 브라우저"와 함께 실제로 파일이 "/sdcard/ejemplo.3gpp"에 배치되어 있는지 확인했습니다. 그래서 나는 어떤 일이 일어나는지 알지 못합니다. 어떤 제안이 있습니까?

답변

2

/sdcard /는 기본값이 아닙니다. OEM에서 변경할 수 있으며 일부 장치에서는 sdcard0이므로 환경 클래스를 사용하여 파일을 저장합니다.

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ejemplo.3gpp"); 
InputStream is = new FileInputStream(file); 
bytes = IOUtils.toByteArray(is); 
+0

지금 파일을 발견 한 것 같다,하지만 어떤 이유로 나는 0's 단지 배열의 대가로받은 배열 ...하지만 내가이 기록 된 사운드를들을 수 있으며, 모든 것 같습니다 좋아 ... 무슨 일이 벌어지고 있는지에 대한 생각? – paviflo

+0

쓰기 및 외부 저장소에 대한 사용 권한이 모두 추가되었습니다. – paviflo

+0

왜 0 만 사용하는지 알 수 없습니다. 'inputstream'을'byte array'로 변환하는 다른 방법을 시도 할 수 있습니다. http://stackoverflow.com/q/2436385/909317 – Sunny

관련 문제