Android 图像文件未写入sd卡
我正在尝试将一个图像文件写入sd卡上的目录,但它似乎不起作用。当我将图像读入bytearray时,它不会将内容写入sd卡。代码如下:Android 图像文件未写入sd卡,android,Android,我正在尝试将一个图像文件写入sd卡上的目录,但它似乎不起作用。当我将图像读入bytearray时,它不会将内容写入sd卡。代码如下: public void addRecord(){ long id; out = new ByteArrayOutputStream(128); bm.compress(CompressFormat.JPEG, 100, out); File sdCard = Environment.get
public void addRecord(){
long id;
out = new ByteArrayOutputStream(128);
bm.compress(CompressFormat.JPEG, 100, out);
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard + File.separator + "studentpics");
if(!dir.exists()){
dir.mkdir();
}
File f = new File(sdCard + File.separator + dir.toString() + File.separator + strStudentName + ".png");
try {
f.createNewFile();
FileOutputStream fos = new FileOutputStream(f);
fos.write(out.toByteArray());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
您可能需要请求写入外部存储器的权限。尝试将此行添加到AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
尝试更换
File f = new File(sdCard + File.separator + dir.toString() + File.separator + strStudentName + ".png");
与
这可能是原因(调用sdCard.toString()),但是,更好的方法是执行File pics=new File(sdCard,“studentPics”)
,对于另一个文件,picture=新文件(pics,strStudentName+“.png”)代码>
File f = new File( dir.toString() + File.separator + strStudentName + ".png");