我想将我的应用 原始 文件夹中的mp3文件复制到 / mnt / SDcard 但是我不知道这份工作。
这不可能吗?
如果您有任何答案,请告诉我这些代码所需的权限;
感谢名单。
答案 0 :(得分:2)
以下是您可以使用的内容:
InputStream in = getResources().openRawResource(R.raw.myresource);
FileOutputStream out = new FileOutputStream(somePathOnSdCard);
byte[] buff = new byte[1024];
int read = 0;
try {
while ((read = in.read(buff)) > 0) {
out.write(buff, 0, read);
}
} finally {
in.close();
out.close();
}
答案 1 :(得分:2)
尝试这种方法
/**
* @param sourceLocation like this /mnt/sdcard/XXXX/XXXXX/15838e85-066d-4738-a243-76c461cd8b01.jpg
* @param destLocation /mnt/sdcard/XXXX/XXXXX/15838e85-066d-4738-a243-76c461cd8b01.jpg
* @return true if successful copy file and false othrerwise
*
* set this permissions in your application WRITE_EXTERNAL_STORAGE ,READ_EXTERNAL_STORAGE
*
*/
public static boolean copyFile(String sourceLocation, String destLocation) {
try {
File sd = Environment.getExternalStorageDirectory();
if(sd.canWrite()){
File source=new File(sourceLocation);
File dest=new File(destLocation);
if(!dest.exists()){
dest.createNewFile();
}
if(source.exists()){
InputStream src=new FileInputStream(source);
OutputStream dst=new FileOutputStream(dest);
// Copy the bits from instream to outstream
byte[] buf = new byte[1024];
int len;
while ((len = src.read(buf)) > 0) {
dst.write(buf, 0, len);
}
src.close();
dst.close();
}
}
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}
了解更多信息,请访问AndroidGuide
答案 2 :(得分:0)
查看此问题并将assets
替换为raw
。