要将文件写入储存,首先有在配置文件中去设置权限:
<span style="white-space:pre"> </span><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- 外部储存可写 -->
<uses-permission android:name="android.permission.READ_CONTACTS"/> /*
* 访问外部储存私有区域
* 路径为 getExternalFilesDir() /mnt/sdcard/Android/data/com.example.call/files
* getExternalCacheDir() /mnt/sdcard/Android/data/com.example.call/cache
*/
public void writeFileToExternalPrivate(){
String fileDir = getContext().getExternalFilesDir(Environment.DIRECTORY_MUSIC).getAbsolutePath();
Log.v("test", fileDir);
String cacheDir = getContext().getExternalCacheDir().getAbsolutePath();
File mapFile = new File(cacheDir+File.separator+"map"); //再将图片加载到目录之前先创建
Mylog.d("00000000"+mapFile.mkdir());
Bitmap bitmap = BitmapFactory.decodeResource(getContext().getResources(), R.drawable.img_person);
File file = new File(cacheDir+File.separator+"map","2.png"); //将图片保存到刚创建好的目录下
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Log.v("test", cacheDir);
}从指定目录中读取文件:
<span style="white-space:pre"> </span>public void readImgFromFile(){
Bitmap bitmap = BitmapFactory.decodeFile(getContext().getExternalCacheDir().getAbsolutePath()+
File.separator+"map"+File.separator+"2.png");
String cacheDir = getContext().getExternalCacheDir().getAbsolutePath();
File file = new File(cacheDir+File.separator+"map","3.png"); //将图片保存到刚创建好的目录下
try {
FileOutputStream out = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}版权声明:本文为Tom_xiaoxie原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。