android上的文件保存输出流
我正在制作一个可以拍照的android应用程序。我已经写了一些代码来保存应用程序拍摄的照片。我要保存文件的目录位于内部存储器和名为DCIM的文件夹中。然而,每次我试图保存照片时,应用程序都会崩溃。下面是我的代码:android上的文件保存输出流,android,android-camera,storage,Android,Android Camera,Storage,我正在制作一个可以拍照的android应用程序。我已经写了一些代码来保存应用程序拍摄的照片。我要保存文件的目录位于内部存储器和名为DCIM的文件夹中。然而,每次我试图保存照片时,应用程序都会崩溃。下面是我的代码: FileOutputStream outStream = null; try { outStream = new FileOutputStream(String.format(
FileOutputStream outStream = null;
try {
outStream = new FileOutputStream(String.format(
"sdcard/DCIM/jgjk.jpg", System.currentTimeMillis()));
outStream.write(data);
outStream.close();
Log.d("Log", "onPictureTaken - wrote bytes: " + data.length);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
代码有什么问题吗?这样就可以了
在onActivityResult中获取位图
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(requestCode==PIC_CROP)
{
if(resultCode==RESULT_OK)
{
Bundle extras = data.getExtras();
if (extras != null) {
Bitmap bmp = extras.getParcelable("data");
savePhoto(bmp);
}
}
}
}
public void savePhoto(Bitmap bmp)
{
dir = Environment.getExternalStorageDirectory().toString() + "/DCIM/";
File newdir = new File(dir);
newdir.mkdirs();
FileOutputStream out = null;
//file name
Calendar c = Calendar.getInstance();
String date = fromInt(c.get(Calendar.MONTH))
+ fromInt(c.get(Calendar.DAY_OF_MONTH))
+ fromInt(c.get(Calendar.YEAR))
+ fromInt(c.get(Calendar.HOUR_OF_DAY))
+ fromInt(c.get(Calendar.MINUTE))
+ fromInt(c.get(Calendar.SECOND));
File imageFileName = new File(newdir, "crop_"+date.toString() + ".jpg");
try
{
out = new FileOutputStream(imageFileName);
bmp.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
out = null;
} catch (Exception e)
{
e.printStackTrace();
}
}
public String fromInt(int val)
{
return String.valueOf(val);
}
你看过异常的日志了吗?你想让String.formatsCard/DCIM/jgjk.jpg,System.currentTimeMillis做什么?迈克尔:是的,似乎不对。我在这里寻找建议。正如帕尼尼提到的,请附上你们的日志和例外看看这个答案谢谢拉詹。我很感谢你的帮助。是的,欢迎..如果你发现有用的向上投票,那么其他人可能会受益。我目前的声誉不允许我向上投票任何帖子或评论。拉詹:我应该用什么类型初始化object dir?以及eclipse show,它不能为数组类型byte调用getExtras。