动态地从变量中提取文件名

时间:2013-05-16 09:01:04

标签: java file

我有一个查询方法,在该方法中,参数作为文件名出现,在我分析调试后,如下所示:

private processfile ( string filePath)

{

}

现在这个文件路径可以是:

C:\abc\file1.txt
or 
C:\abc\def\file1.txt
or 
C:\ghj\ytr\wer\file1.txt

现在我的查询是我必须只提取文件名并且必须存储在字符串参数中。所以我必须将file1.txt存储在一个字符串中,比如说在字符串参数s中,所以最后s将被存储为

String s = file1.txt

如何实现这一目标?

2 个答案:

答案 0 :(得分:10)

这应该可以解决问题

String s = new File(filepath).getName()

虽然我将文件路径重命名为filePath。

您可以找到File#getName()文档here

答案 1 :(得分:3)

在这种情况下,您可以使用indexOfsubstring

String s = filepath.substring(filepath.lastIndexOf(File.separator)+1);

File.getName也采取了类似的方法,请参阅以下来源:

public String getName() {
    int index = path.lastIndexOf(separatorChar);
    if (index < prefixLength) return path.substring(prefixLength);
    return path.substring(index + 1);
    }