我正在尝试将图像文件写入我的SD卡上的目录,但它似乎无法正常工作。当我将图像读入bytearray时,它不会将内容写入SD卡。代码如下:
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();
}
}
答案 0 :(得分:0)
您可能需要请求写入外部存储的权限。尝试将此行添加到AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
答案 1 :(得分:0)
尝试替换
File f = new File(sdCard + File.separator + dir.toString() + File.separator + strStudentName + ".png");
使用
File f = new File( dir.toString() + File.separator + strStudentName + ".png");