/// 把APP内存文件保存至手机存储中
private static final String SPECIFIC_RINGTONE_NAME = "xxxxx.wav";
private String saveMediaFileToSdcard(){
String filePath = StorageUtil.getInternalStoragePath() + "/mmi/" + SPECIFIC_RINGTONE_NAME ;
saveToRawResourceSDCard(this, R.raw.mixtone, filePath);
return filePath;
}
public void saveToRawResourceSDCard(Context context, int sourceResId, String filePath){
InputStream inStream = null;
FileOutputStream fileOutputStream = null;
ByteArrayOutputStream outStream = null;
File dstFile = new File(filePath);
try {
if (!dstFile.getParentFile().exists()) {
dstFile.getParentFile().mkdirs();
}
if (!dstFile.exists()) {
dstFile.createNewFile();
}
inStream = context.getResources().openRawResource(sourceResId);
fileOutputStream = new FileOutputStream(dstFile);
byte[] buffer = new byte[10];
outStream = new ByteArrayOutputStream();
int len = 0;
while((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
byte[] bs = outStream.toByteArray();
fileOutputStream.write(bs);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
outStream.close();
inStream.close();
fileOutputStream.flush();
fileOutputStream.close();
outStream = null;
inStream = null;
fileOutputStream = null;
} catch (IOException e2) {
e2.printStackTrace();
}
}
}