宁武皇仁光九年锦文轩刻本《异闻录》载: 扶桑画师浅溪,居泰安,喜绘鲤。院前一方荷塘,锦鲤游曳,溪常与嬉戏。 其时正武德之乱,潘镇割据,战事频仍,魑魅魍魉,肆逆于道。兵戈逼泰安,街邻皆逃亡,独溪不舍锦鲤,未去。 是夜,院室倏火。有人入火护溪,言其本鲤中妖,欲取溪命,却生情愫,遂不忍为之。翌日天明,火势渐歇,人已不见。 溪始觉如梦,奔塘边,但见池水干涸,莲叶皆枯,塘中鲤亦不知所踪。 自始至终,未辨眉目,只记襟上层迭莲华,其色魅惑,似血着泪。 后有青岩居士闻之,叹曰:魑祟动情,必作灰飞。犹蛾之投火耳,非愚,乃命数也。 ————《锦鲤抄》

【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")是为了防止乱码

效果如图:

   

 

posted @ 2021-12-28 17:55  哒布溜  阅读(2282)  评论(0编辑  收藏  举报