我有一个查询方法,在该方法中,参数作为文件名出现,在我分析调试后,如下所示:
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
如何实现这一目标?
答案 0 :(得分:10)
答案 1 :(得分:3)
在这种情况下,您可以使用indexOf
和substring
:
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);
}