从URL中提取图像名称Java

3

1
版权问题怎么处理呢?“未经许可,不得全部或部分复制” - Igor Milla
1个回答

5

首先我们需要解码URL并获取url参数。我们可以使用BalusC的优秀代码来解析查询字符串。然后我们只需按照/分割该URL并取最后一部分。

String url ="http://m.people.com/img/ic?width=474&height=269&fsize=999000&format=jpg&url=http%3A%2F%2Fimg2.timeinc.net%2Fpeople%2Fi%2F2011%2Fnews%2F110425%2Fgwyneth-paltrow-300.jpg";
Map<String, List<String>> params = new HashMap<String, List<String>>();
String[] urlParts = url.split("\\?");
if (urlParts.length > 1) {
    String query = urlParts[1];
    for (String param : query.split("&")) {
        String[] pair = param.split("=");
        String key;
        try
        {
          key = URLDecoder.decode(pair[0], "UTF-8");
        } catch (UnsupportedEncodingException e)
        {
          key = URLDecoder.decode(pair[0]);
        }
        String value;
        try
        {
          value = URLDecoder.decode(pair[1], "UTF-8");
        } catch (UnsupportedEncodingException e)
        {
          value = URLDecoder.decode(pair[1]);
        }
        List<String> values = params.get(key);
        if (values == null) {
            values = new ArrayList<String>();
            params.put(key, values);
        }
        values.add(value);
    }
}
String img = params.get("url").get(0);
String[] parts = img.split("/");
String imgName = parts[parts.length - 1];
System.out.println(imgName);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接