在使用FileOutputStream时经常出现FileNotFoundException问题,在开发中使用部分机型适配时抛出FileNotFoundException问题,有时会莫名其妙的就好了,但是问题总归存在,经过调研发现了问题所在:
首先,明确一点FileOutputStream不会帮你创建不存在的路径,所以使用FileOutputStream要先创建路径,再创建文件。
public static final String TEMP=Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator+"temp"+ File.separator; //路径名
String newPath = TEMP+ System.currentTimeMillis() +".jpg"; //文件名
File file =newFile(TEMP);
if(!file.exists()) {
file.mkdirs();//新建目录
}
File newFile =newFile(newPath);
FileOutputStream fs =newFileOutputStream(newFile);
往往只使用最后一行,有时候部分机型不会出错,但大多数时候都会行不通