「求助高手」获取url资源的真实文件名和后缀

meerroo meerroo 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
目前用java在做一个「多线程下载工具」,想要实现类似迅雷那样自动识别url所指资源的文件名和后缀。尝试以下办法:
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.connect();

String field=http.getHeaderField("Content-Disposition");
String tmpStr1=field.substring(field.indexOf("filename")+10, field.length()-1); //获取filename="xxx"中的xxx
String tmpStr2=new String(tmpStr1.getBytes("ISO-8859-1"), "GB2312"); //编码转换,正确识别中文
System.out.println(tmpStr2);


遇到两个问题:
1、String tmpStr2=new String(tmpStr1.getBytes("ISO-8859-1"), "GB2312");
对某些http响应信息里的中文字符,依然会出现乱码。http的默认编码不是“ISO-8859-1”吗?还是说有别的问题?

2、这段代码只能获取某些url的文件名和后缀,对很多url无效。我检查了一下这些url的http响应信息,不含Content-Disposition字段。这是为什么?

请高手不吝赐教,有没有一种强健的方式能够获取url所指资源的真实文件名和后缀。非常感谢。
...全文

相关推荐

获取URL文件名后缀

用php分析URL网址,可以得到文件名、目录路径,还有其它数据,原理就是使用PHP的explode函数分隔字符串。

weixin_38744694

python 重定向获取真实url的方法

今天小编就为大家分享一篇python 重定向获取真实url的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

weixin_38652196

php获取文件名后缀常用方法小结

本文实例汇总了php获取文件名后缀常用方法。分享给大家供大家参考。具体实现方法如下: &lt;?php header("Content-type:text/html;charset=utf-8"); $pic = "abc.jpg"; //第一种方法 $pics = explode('.',$pic); $num = count($pics); echo $pics[$num-1]."<br>"; //第二种方法 echo end($pics)."<br>"; //end()方法,获取数组最后一个单元值 //第三种方法 $info = pathinfo($pic); echo $info[

weixin_38618784

获取URL地址中的文件名和参数的javascript代码

JS 获取URL地址中的文件名和参数,这个版本中有详细的注释。

weixin_38700790

Asp.net 获取指定目录下的后缀名为.doc 的所有文件名和文件路径

c#核心代码: 代码如下: DirectoryInfo dir = new DirectoryInfo(strPath); foreach (FileInfo fi in dir.GetFiles(“*.doc”)) { if (fi.FullName.EndsWith(“.doc”)) // 将 docx 类型的文件过滤掉 { // 这个 fi 就是你要的 doc 文件 Console.WriteLine(fi.Name); } } 您可能感兴趣的文章:ASP.NET总结C#中7种获取当前路径的方法asp.net获取HTML表单File中的路

weixin_38572960
评论 6
收藏 已收藏
分享
返回顶部
meerroo
Java SE 62,620 成员 307,251 内容