我需要能够将文件保存到外部存储临时目录。我保存的文件是我的应用程序的 R.raw 目录。
我在这里使用了这个例子。 在 Android 中将原始文件移动到 SD 卡
问题是 1. 该应用程序似乎读取了我想要的 .m4a 文件(可能在这里读取错误的字节)。2. 当文件保存到/tmp 目录时,文件大小完全错误。例如,一个文件从 30kb 到 300kb,另一个从 25kb 到 .25kb。
有什么建议么
public String saveAs(int ressound, String whipName){
byte[] buffer=null;
InputStream fIn = getBaseContext().getResources().openRawResource(ressound);
int size=0;
try {
size = fIn.available();
buffer = new byte[size];
fIn.read(buffer);
fIn.close();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("saveas", "did not save1");
//return false;
}
String path= Environment.getExternalStorageDirectory().getAbsolutePath()+"/tmp/.pw2";
String filename="/"+whipName+".m4a";
Log.i("path", "file path is " + path);
boolean exists = (new File(path)).exists();
if (!exists){new File(path).mkdirs();}
FileOutputStream save;
try {
save = new FileOutputStream(path+filename);
save.write(buffer);
save.flush();
save.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
Log.i("saveas", "did not save2");
//return false;
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("saveas", "did not save3");
//return false;
}
File k = new File(path, filename);
return k.getAbsolutePath();
}