android:根据下载文件的url获取文件名
2016-06-24 14:25
615 查看
1、通过UrlConnection来获取2、通过截取url地址最后一个"/"来获取
public static String getFileName(String url) { String filename = ""; boolean isok = false; // 从UrlConnection中获取文件名称 try { URL myURL = new URL(url);
URLConnection conn = myURL.openConnection(); if (conn == null) { return null; } Map<String, List<String>> hf = conn.getHeaderFields(); if (hf == null) { return null; } Set<String> key = hf.keySet(); if (key == null) { return null; }
for (String skey : key) { List<String> values = hf.get(skey); for (String value : values) { String result; try { result = new String(value.getBytes("ISO-8859-1"), "GBK"); int location = result.indexOf("filename"); if (location >= 0) { result = result.substring(location + "filename".length()); filename = result .substring(result.indexOf("=") + 1); isok = true; } } catch (UnsupportedEncodingException e) { e.printStackTrace(); }// ISO-8859-1 UTF-8 gb2312 } if (isok) { break; } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 从路径中获取 if (filename == null || "".equals(filename)) { filename = url.substring(url.lastIndexOf("/") + 1); } return filename; }
public static String getFileName(String url) { String filename = ""; boolean isok = false; // 从UrlConnection中获取文件名称 try { URL myURL = new URL(url);
URLConnection conn = myURL.openConnection(); if (conn == null) { return null; } Map<String, List<String>> hf = conn.getHeaderFields(); if (hf == null) { return null; } Set<String> key = hf.keySet(); if (key == null) { return null; }
for (String skey : key) { List<String> values = hf.get(skey); for (String value : values) { String result; try { result = new String(value.getBytes("ISO-8859-1"), "GBK"); int location = result.indexOf("filename"); if (location >= 0) { result = result.substring(location + "filename".length()); filename = result .substring(result.indexOf("=") + 1); isok = true; } } catch (UnsupportedEncodingException e) { e.printStackTrace(); }// ISO-8859-1 UTF-8 gb2312 } if (isok) { break; } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // 从路径中获取 if (filename == null || "".equals(filename)) { filename = url.substring(url.lastIndexOf("/") + 1); } return filename; }
相关文章推荐
- Android:monkey测试工具
- Android java.lang.RuntimeException: Can\'t create handler inside thread that has not called Looper.prepare()
- Android:adb 启动activity、service,发送broadcast
- Android 防止Service被系统回收
- Android 点击back键两次退出程序
- Android 判断一个Service是否已经运行
- Android初学感受一
- android函数调用堆栈打印方法
- Android:View的测量/onMeasure()方法解析
- 百度定位Sdk 162错误解决方法之Android Studio
- Android 之 打包混淆ProGuard
- Android 内存泄漏总结
- 小米推送简单使用方法
- Android优化指南
- Xamarin Android项目真机测试闪退
- Xamarin Android项目真机测试闪退
- android 获取屏幕信息
- android中使用PopupWindow实现弹出窗口菜单
- Android Clipboard(复制/剪贴板)
- 打造浪漫的Android表白程序