【Java获取下载文件URL的真实文件名,并防止乱码】


有的时候下载链接的后缀并不是文件真实名字,我们想要获得其真实文件名需要进行一些处理:

主要是获得header信息

代码如下:

        String href = "https://yyyyy.xxxxxxx(下载Url)";
        URL url = null;
            try {
                url = new URL(href);
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }

        try {
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.connect();//获取文件名和扩展名
            conn.getResponseCode();
            href = conn.getURL().toString();
            //获取header 确定文件名和扩展名,并防止乱码
            fileName =   new String(conn.getHeaderField("Content-Disposition").getBytes("ISO-8859-1"), "UTF-8"); 
            System.out.println(fileName);

        } catch (IOException e) {
            e.printStackTrace();
        }
添加getBytes方法 :new String(conn.getHeaderField("Content-Disposition").getBytes("ISO-8859-1"), "UTF-8")是为了防止乱码

效果如图:

   

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM