외부 sd 카드 (7.9GB)를 마운트했습니다. 다음은 원시 오디오 파일을 내 프로젝트에서 sdcard로 전송하는 데 사용하는 코드입니다. JellyBean 4.2 버전을 사용하고 있습니다. fileManager 응용 프로그램을 사용하여이 작업을 수행 할 수 있습니다. 따라서 sdcard는 확실히 쓰기가 가능합니다.EACCES 권한 거부 파일을 찾을 수 없음
File storagedir = new File("/mnt/extsd");
if (storagedir.isDirectory()) {
String[] dirlist = storagedir.list();
for (int i = 0; i < dirlist.length; i++) {
System.out.println(dirlist[i]);
}
File file = new File(storagedir, "Audio.mp3");
try {
InputStream is = getResources().openRawResource(R.raw.audio);
OutputStream os = new FileOutputStream(file);
byte[] data = new byte[is.available()];
is.read(data);
os.write(data);
is.close();
os.close();
Toast.makeText(getApplicationContext(), "Saved!", Toast.LENGTH_SHORT).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
}
매니페스트 :
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
하지만 파일을 얻을 수없는 예외 :
java.io.FileNotFoundException: mnt/extsd/Audio.mp3 openfailed:
EACCES (Permission Denied)
는 로그 캣 – krishnan
사용 Environment.getExternalStorageDirectory에 파일 경로를 확인(). – krishnan
@krishnan :하지만 외부 SD 카드 위치를 어떻게 지정합니까? – Susheel