要下载的文件扩展名类型

时间:2012-05-15 20:12:19

标签: java file download httpclient file-extension

如何确定要下载的文件的文件扩展名?我使用下面的代码下载文件。

URL url = new URL("http://server.com/file.format");
DefaultHttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(new URI(url.getProtocol(), url.getHost(), url.getPath(), url.getQuery(), null));

InputStream in = client.execute(get).getEntity().getContent();

//... read input stream and save to file

我已经看过其他相关主题,但我无法找到解决方案。

2 个答案:

答案 0 :(得分:2)

在互联网和unix世界中,没有必要的文件扩展名。这是一种典型的Windows世界思维方式。

在HTTP中,最接近“文件扩展名”的是mime类型。它是实际的内容类型说明,例如text/htmlimage/gif。但HTTP不提供文件扩展名。您必须自己将mime类型映射到文件扩展名!

答案 1 :(得分:1)

如果我理解正确,您示例中的扩展名为“格式”。换句话说,它位于用于生成用于请求文件的URL的字符串中。要从用于创建URL的传入文件字符串中获取扩展名,请使用:

str.substring(str.lastIndexOf('.')+1)  

[被修改]