如何从URL获取文件名

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

在Java中,给定一个java.net.URL或一个String形式http://www.example.com/some/path/to/a/file.xml,获取文件名的最简单方法是减去扩展名?所以,在这个例子中,我正在寻找返回的东西"file"

我可以想到几种方法来做到这一点,但我正在寻找易于阅读和简短的东西。

提问于
用户回答回答于

使用Apache commons-io

import org.apache.commons.io.FilenameUtils;

public class FilenameUtilTest {

    public static void main(String[] args) throws Exception {
        URL url = new URL("http://www.example.com/some/path/to/a/file.xml?foo=bar#test");

        System.out.println(FilenameUtils.getBaseName(url.getPath())); // -> file
        System.out.println(FilenameUtils.getExtension(url.getPath())); // -> xml
        System.out.println(FilenameUtils.getName(url.getPath())); // -> file.xml
    }

}
用户回答回答于
String fileName = url.substring( url.lastIndexOf('/')+1, url.length() );

String fileNameWithoutExtn = fileName.substring(0, fileName.lastIndexOf('.'));

扫码关注云+社区