Java教程

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

本文主要是介绍【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")是为了防止乱码

效果如图:

   

 

这篇关于【Java获取下载文件URL的真实文件名,并防止乱码】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!