如何确定要下载的文件的文件扩展名?我使用下面的代码下载文件。
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
我已经看过其他相关主题,但我无法找到解决方案。
答案 0 :(得分:2)
在互联网和unix世界中,没有必要的文件扩展名。这是一种典型的Windows世界思维方式。
在HTTP中,最接近“文件扩展名”的是mime类型。它是实际的内容类型说明,例如text/html
或image/gif
。但HTTP不提供文件扩展名。您必须自己将mime类型映射到文件扩展名!
答案 1 :(得分:1)
如果我理解正确,您示例中的扩展名为“格式”。换句话说,它位于用于生成用于请求文件的URL的字符串中。要从用于创建URL的传入文件字符串中获取扩展名,请使用:
str.substring(str.lastIndexOf('.')+1)
[被修改]