- public static final boolean DownlaodAppFile(Context mContext, String url, String cacheName, boolean replace) {
- File root = mContext.getExternalCacheDir();
- if (!root.exists()) {
- root.mkdir();
- }
- String root_path = root.getAbsolutePath();
- File cacheFile = new File(root_path + "/" + cacheName);
- if (cacheFile.exists()) {
- if (!replace) {
- return true;
- }
- }
- File tmpFIle = new File(root_path + "/" + cacheName + ".tmp");
- URL mURL = null;
- try {
- mURL = new URL(url);
- } catch (MalformedURLException e) {
- Log.i("Finals", "URL error");
- e.printStackTrace();
- return false;
- }
- HttpURLConnection conn = null;
- FileOutputStream fos = null;
- Base64OutputStream bos = null;
- try {
- fos = new FileOutputStream(tmpFIle);
- bos = new Base64OutputStream(fos, 45);
- conn = (HttpURLConnection) mURL.openConnection();
- if (conn.getResponseCode() == 200) {
- // 创建连接
- InputStream is = conn.getInputStream();
- byte[] buffer = new byte[1024];
- // 循环获取数据
- int len = 0;
- while ((len = is.read(buffer)) != -1) {
- bos.write(buffer, 0, len);
- }
- // 释放资源
- bos.close();
- fos.close();
- is.close();
- conn.disconnect();
- bos = null;
- fos = null;
- is = null;
- conn = null;
- tmpFIle.renameTo(cacheFile);
- System.out.println("下载完成");
- }
- } catch (IOException e) {
- e.printStackTrace();
- Log.i("Finals", "Url connection error");
- return false;
- } finally {
- if (fos != null) {
- try {
- fos.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- return true;
- }
- public static final String ReadAppFile(Context context, String cacheName) {
- File root = context.getExternalCacheDir();
- String rootpath = root.getAbsolutePath();
- File cacheFile = new File(rootpath + "/" + cacheName);
- if (!cacheFile.exists()) {
- return "";
- }
- String result = "";
- try {
- FileInputStream fis = new FileInputStream(cacheFile);
- Base64InputStream bis = new Base64InputStream(fis, 45);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- byte[] buffer = new byte[512];
- int len = 0;
- while ((len = bis.read(buffer)) != -1) {
- bos.write(buffer, 0, len);
- }
- result = bos.toString();
- bos.close();
- bis.close();
- fis.close();
- bos = null;
- bis = null;
- fis = null;
- } catch (IOException e) {
- e.printStackTrace();
- return "";
- }
- return result;
- }
来源: http://www.phpxs.com/code/1002125/