java 下载文件文件名_java – 从http下载文件中检索文件名

我正在尝试从Web服务器下载文件并将其保存在服务器随文件发送的原始文件名下.下载工作得很好,但我无法获得真正的文件名.

举个实例我试图下载this file(Foxit PDF阅读器).

如果我在Chrome等浏览器中使用此链接,则浏览器会下载包含版本等名称的文件.我从哪里获取此名称?我尝试阅读标题信息并正在搜索Content-Disposition但服务器不会发送此信息.我从哪里获得确切的文件名?

我试过这样的事情:

try {

URL webfile = new URL("http://www.foxitsoftware.com/downloads/latest.php?product=Foxit-Reader");

URLConnection con = webfile.openConnection();

Map map = con.getHeaderFields();

Set set = map.entrySet();

Iterator iterator = set.iterator();

while (iterator.hasNext()) {

System.out.println(iterator.next());

}

} catch (IOException ex) {

System.out.println("Error: "+ex.getMessage());

}

正如您在输出中看到的那样,没有Content-Disposition:

null=[HTTP/1.1 200 OK]

ETag=["244005-f36d40-4d003f3868000"]

Date=[Sat, 08 Dec 2012 12:29:02 GMT]

Content-Length=[15953216]

Last-Modified=[Tue, 04 Dec 2012 10:01:36 GMT]

Content-Type=[application/x-msdos-program]

Connection=[close]

Accept-Ranges=[bytes]

Server=[Apache/2.2.16 (Debian)]

那么如何检索确切的文件名呢?浏览器中的链接下载名为FoxitReader544.11281_enu_Setup.exe的文件.

有任何想法吗?!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值