android网络图片的下载

android网络图片的下载

 1 /**
 2      * Get image from newwork
 3      * 
 4      * @param path
 5      *            The path of image
 6      * @return byte[]
 7      * @throws Exception
 8      */
 9     public byte[] getImage(String path) throws Exception {
10         URL url = new URL(path);
11         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
12         conn.setConnectTimeout(5 * 1000);
13         conn.setRequestMethod("GET");
14         InputStream inStream = conn.getInputStream();
15         if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
16             return readStream(inStream);
17         }
18         return null;
19     }
20 
21     /**
22      * Get data from stream
23      * 
24      * @param inStream
25      * @return byte[]
26      * @throws Exception
27      */
28     public static byte[] readStream(InputStream inStream) throws Exception {
29         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
30         byte[] buffer = new byte[1024];
31         int len = 0;
32         while ((len = inStream.read(buffer)) != -1) {
33             outStream.write(buffer, 0, len);
34         }
35         outStream.close();
36         inStream.close();
37         return outStream.toByteArray();
38     }
39 
40     /**
41      * 保存文件
42      * 
43      * @param bm
44      * @param fileName
45      * @throws IOException
46      */
47     public void saveFile(byte[] data, String fileName) throws IOException {
48         File dirFile = new File(Constant.PATH_PIC);
49         if (!dirFile.exists()) {
50             dirFile.mkdir();
51         }
52         File myCaptureFile = new File(Constant.PATH_PIC + fileName);
53         BufferedOutputStream bos = new BufferedOutputStream(
54                 new FileOutputStream(myCaptureFile));
55         Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
56         bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos);
57         bos.flush();
58         bos.close();
59     }
60 
61     /**
62      * 加载本地图片
63      * 
64      * @param url
65      * @return
66      */
67     public static Bitmap getLoacalBitmap(String url) {
68         try {
69             FileInputStream fis = new FileInputStream(url);
70             return BitmapFactory.decodeStream(fis); // /把流转化为Bitmap图片
71 
72         } catch (FileNotFoundException e) {
73             e.printStackTrace();
74             return null;
75         }
76     }

 

posted on 2014-08-06 14:49  凡人柯  阅读(316)  评论(0编辑  收藏  举报