从绝对路径获取名称,从最后一个斜杠获取子串,java android

时间:2012-05-11 10:16:37

标签: java android file

我想提取绝对路径的名称。如果我有一个值为/ mnt / sdcard / Videos / Videoname的字符串,我想保存一个值为Videoname的字符串。

字符串正在改变,我以前无法获得斜杠数。我怎么能从最后一个斜线中分割一个子串呢?

  

/ mnt / sdcard / Videos / Videoname - > Videnoname

6 个答案:

答案 0 :(得分:22)

你应该通过File api。引自File.getName()文档:

  

返回此抽象路径名表示的文件或目录的名称。这只是路径名称序列中的姓氏。如果路径名的名称序列为空,则返回空字符串。

示例:

String name = new File("/mnt/sdcard/Videos/Videoname").getName();

答案 1 :(得分:12)

如果从“文件”对象获得,则可以使用以下方法获取:

String fileName = myFile.getName();

如果你从一个简单的字符串中得到它,你可以使用

String fileName = myString.substring(myString.lastIndexOf("/")+1);

答案 2 :(得分:7)

String path = "/mnt/sdcard/Videos/Videoname"; // Your path

String fileName = new File(path).getName(); // you file name

答案 3 :(得分:2)

最简单的方法是

String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;

path.substring(pos, path.length()-pos);

现在路径字符串中有last.htm。

答案 4 :(得分:1)

但是通过更多研究,以下代码可以正常运行......

String[] Tokens = stringPath.split("\\\\");

你需要两次逃避“\”。

答案 5 :(得分:0)

string a = "/foo/bar/target";
string words = a.Split("/")
string target = words[words.length-1]