0

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

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

我已经查看了其他相关线程,但我找不到解决问题的方法。

4

2 回答 2

2

在 Internet 和 unix 世界中,没有强制文件扩展名之类的东西。这是典型的 Windows 世界思维方式。

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

于 2012-05-15T20:30:39.247 回答
1

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

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

[已编辑]

于 2012-05-15T20:27:49.260 回答