package com.example.saveimagetosdcard;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.CompressFormat;import android.graphics.BitmapFactory;import android.view.Menu;//1 注意許可權//2 僅為了測試,所以把此方法寫到了MainActivity中public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.getImageFromNetSaveToSDCard();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}public void getImageFromNetSaveToSDCard() {try {Bitmap bitmap = null;InputStream inputStream = null;String imagePathString = "http://photocdn.sohu.com/20121109/Img357146253.jpg";URL imageUrl = new URL(imagePathString);HttpURLConnection httpURLConnection = (HttpURLConnection) imageUrl.openConnection();httpURLConnection.setConnectTimeout(5000);// httpURLConnection.setRequestMethod("POST");//設定為POST擷取的圖片大小為0httpURLConnection.setRequestMethod("GET");if (httpURLConnection.getResponseCode() == 200) {inputStream = httpURLConnection.getInputStream();// 利用InputStream產生bitmapbitmap = BitmapFactory.decodeStream(inputStream);}if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {// 在SD卡下建立檔案夾String sdCardPath = Environment.getExternalStorageDirectory().toString();String folderName = "/haha";String imageFolderPath = sdCardPath + folderName;File imageFolder = new File(imageFolderPath);if (!imageFolder.exists()) {imageFolder.mkdirs();}// 在SD卡下的檔案夾中儲存圖片String everyImagedetailPath = imageFolder.toString()+ "/man.jpg";File everyImageFile = new File(everyImagedetailPath);if (everyImageFile.createNewFile()) {// 建立檔案成功FileOutputStream outputStream = new FileOutputStream(everyImageFile);bitmap.compress(CompressFormat.JPEG, 80, outputStream);outputStream.flush();outputStream.close();} else {System.out.println("儲存圖片失敗");}}} catch (Exception e) {e.printStackTrace();}}}