我使用此代码,但它在文件输出流失败。 当我创建一个静态void时,getResources将失败。
public void copy (Context context) {
InputStream in = getResources().openRawResource(R.raw.high1);
FileOutputStream out = new FileOutputStream("/sdcard/pic1.jpg");
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();
}
}
答案 0 :(得分:0)
getResources()在将其更改为静态时不会失败,修改行:
InputStream in = getResources()。openRawResource(R.raw.high1);
要:
InputStream in = context.getResources()。openRawResource(R.raw.high1);
另外,引用CommonsWare:
从来没有HARDCODE PATHS。使用getExternalFilesDir()或Environment.getExternalStoragePublicDirectory()或类似的东西来获取外部存储上的目录。