版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
我们在平常项目中,可能会存储一些头像,二维码之类的。这篇文章主要也是介绍自己在存储中会遇到的问题以及一些改进方案。
1.首先是长按保存:这个可以去参照网络上的,无非是自己先要拼接好一个文件路径。注意:IO流只能帮忙建文件,但是不能帮忙建目录(路径)。
// 先拼接好一个路径:在内存卡/或是手机内存上做好文件夹String filePath =Environment.getExternalStorageDirectory()+savePath;File localFile = newFile(filePath); if (!localFile.exists()){ localFile.mkdir(); }
2.引导具体的文件名和路径:
//拼接好文件路径和名称 File finalImageFile =new File(localFile, System.currentTimeMillis() +".jpg");if (finalImageFile.exists()) { finalImageFile.delete(); }try { finalImageFile.createNewFile(); }catch (IOException e) { e.printStackTrace(); }
3.文件的读取:
FileOutputStream fos = null; try { fos = new FileOutputStream(finalImageFile); } catch (FileNotFoundException e) { e.printStackTrace(); } if (bitmap == null) { Toast.makeText(this,"图片不存在",0).show(); return; } bitmap.compress(Bitmap.CompressFormat.JPEG,100, fos); try { fos.flush(); fos.close(); Toast.makeText(this,"图片保存在:"+ finalImageFile.getAbsolutePath(),0).sho