package com.bwei.file;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
private ImageView img;
File namefile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到系统路径
File f=getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
Toast.makeText(this, f.toString(), 1).show();
Log.i("Tag", f.toString());
img = (ImageView) findViewById(R.id.img);
//判断sdcard是否存在
if(isExternalStorageWritable()==true){
//得到图片
Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.a1);
//得到文件的根目录
File file=Environment.getExternalStorageDirectory();
//把图片存到sdcard中
save(file,bitmap);
//读取sdcard里的图片,赋值给imageview
read(namefile);
}
}
//通过路径读取内容
private void read(File namefile) {
//判断是否存在
if(namefile.exists()){
Bitmap bitmap=BitmapFactory.decodeFile(namefile.toString());
img.setImageBitmap(bitmap);
}
}
//存图片的方法
private void save(File file,Bitmap bitmap) {
//创建文件夹
File file1=new File(file, "image1");
//判断是否存在
if(!file1.exists()){
file1.mkdir();//当不存在的时候创建文件夹
}
//创建图片名
String name="1.jpg";
//创建文件
File file2=new File(file1, name);
try {
//判断文件是不是存在
if(file2.exists()){
file2.delete();//如果存在,先删除,在创建
file2.createNewFile();
}else{
file2.createNewFile();//如果不存在,创建
}
//把图面存入sdcard文件里
FileOutputStream os=new FileOutputStream(file2);
bitmap.compress(CompressFormat.JPEG, 100, os);
//把这个文件名赋值成变量,方便获取路径
namefile=file2;
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//先判断sdcard是否可读可写
private boolean isExternalStorageWritable() {
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
return true;
}
return false;
}
}