具體步驟有一下幾步:
1.權(quán)限
2.創(chuàng)建文件夾
3.創(chuàng)建文件
4.保存文件
權(quán)限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
創(chuàng)建文件夾
先說明每一步的代碼屡久,最后會貼上完整的代碼
如果是直接將文件放在/storage/sdcard1拌喉,這一步就可以跳過肢藐,
//保存到指定路徑下/storage/sdcard1/potato
//File.separator 是默認分隔符 \
final String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "potato" + File.separator;
//potato文件夾是不存在的所以必須提前創(chuàng)建
File folder = new File(dir);
if(!folder.exists()){
folder.mkdir();
}
如果想詳細了解一下Environment.getExternalStorageDirectory()
可以看一下我的另一篇文章的開頭有講解 -> Android調(diào)用手機拍照并獲得原圖
注意
如果像QQ是/tencent/QQ_Image/里面存放照片,那么就要一層一層的創(chuàng)建文件夾案训,先創(chuàng)建tencent斤程,再創(chuàng)建QQ_Image,否則會報錯** open failed: ENOENT (No such file or directory)**
創(chuàng)建文件
File file = new File(dir + "summer" + ".jpg");
if(file.exists()){
file.delete();
}
if(!file.exists()){
file.createNewFile();//重點在這里
}
mkdir()是創(chuàng)建文件夾选调,createNewFile()創(chuàng)建文件。
如果使用的是mkdir()就會創(chuàng)建一個叫“summer.jpg”的文件夾
保存文件
FileOutputStream out = new FileOutputStream(file);
newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
Demo
final String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "potato" + File.separator;
try {
File folder = new File(dir);
if(!folder.exists()){
folder.mkdir();
}
File file = new File(dir + "summer" + ".jpg");
if(file.exists()){
file.delete();
}
if(!file.exists()){
file.createNewFile();
}
FileOutputStream out = new FileOutputStream(file);
newBitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
好好學習灵份,天天向上。<( ̄oo, ̄)/
Potato_zero.jpg