Java 如何分割文件路径以获取文件名?

Java 如何分割文件路径以获取文件名?,java,android,split,Java,Android,Split,我的Android应用程序中有以下字符串: /storage/emulated/0/temp.jpg 我需要操作字符串并拆分此输出的字符串: temp.jpg 我需要始终取字符串的最后一个元素 如何在java中创建此输出 如果您能为我解决此问题提供任何帮助,我将不胜感激。您可以使用字符串拆分: 另一种可能性是: String lStr = "/storage/emulated/0/temp.jpg"; lStr = lStr.substring(lStr.lastInde

我的Android应用程序中有以下字符串:

/storage/emulated/0/temp.jpg
我需要操作字符串并拆分此输出的字符串:

temp.jpg
我需要始终取字符串的最后一个元素

如何在java中创建此输出


如果您能为我解决此问题提供任何帮助,我将不胜感激。

您可以使用字符串拆分:


另一种可能性是:

String lStr = "/storage/emulated/0/temp.jpg";
lStr = lStr.substring(lStr.lastIndexOf("/")+1);
System.out.println(lStr);
尝试使用String函数split。它按输入拆分字符串并返回字符串数组。只需访问本例中数组的最后一个元素。

这不是字符串拆分练习 如果需要从文件路径获取文件名,请使用类:

输出:

temp.jpg temp.jpg 试试这个:

String path= "/storage/emulated/0/temp.jpg";
String[] parts = path.split("/");
String filename;
if(parts.length>0)
    filename= parts[parts.length-1];  

不要硬编码4,他可能有不同的长度,试试parts.length-1。我注意到你已经接受了一个字符串拆分答案作为你的首选答案。请检查我建议的副本,因为您应该使用<代码>文件>代码>。C++背景下,使用文件到子串对我来说是一种关机。我的意思是,这是非常低效的,你需要实例化一个对象来做一件琐碎的事情。@BawenangRukmokoPardianPutra如果路径使用基于操作系统的不同类型的分隔符,它可能不是琐碎的。始终使用内置工具,直到您仔细的检测表明这是性能问题的症结所在。我明白了。这是有道理的。这会产生输出
/temp.jpg
,因为子字符串是包含的,而这不是OP想要的输出。代替编辑此答案,我建议接受使用
文件
的答案。
File f = new File("/storage/emulated/0/temp.jpg");
System.out.println(f.getName());
temp.jpg
String path= "/storage/emulated/0/temp.jpg";
String[] parts = path.split("/");
String filename;
if(parts.length>0)
    filename= parts[parts.length-1];