Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态字符串获取java中的动态图像名称_Java - Fatal编程技术网

动态字符串获取java中的动态图像名称

动态字符串获取java中的动态图像名称,java,Java,我有一个动态字符串,比如 age/data/images/four_seasons1.jpg 从上面的字符串中,我需要单独获得图像名称(即four_seasures1.jpg) 路径和图像将是动态的(将出现任何图像格式) 请让我知道如何在java中执行此操作 提前感谢使用文件对象 new File("/path/to/file").getName() 您还可以使用String.split() 这将为您提供一个数组,在其中选择最后一个元素。但是文件对象更合适。使用文件对象 new File("

我有一个动态字符串,比如

age/data/images/four_seasons1.jpg
从上面的字符串中,我需要单独获得图像名称(即four_seasures1.jpg)

路径和图像将是动态的(将出现任何图像格式)

请让我知道如何在java中执行此操作

提前感谢

使用文件对象

new File("/path/to/file").getName()
您还可以使用String.split()

这将为您提供一个数组,在其中选择最后一个元素。但是文件对象更合适。

使用文件对象

new File("/path/to/file").getName()
String text = "age/data/images/four_seasons1.jpg";

String name = text.substring(text.lastIndexOf("/") + 1);
String path = text.substring(0, text.lastIndexOf("/"));
System.out.println(name);
System.out.println(path);
您还可以使用String.split()

这将为您提供一个数组,在其中选择最后一个元素。但文件对象更适合

String text = "age/data/images/four_seasons1.jpg";

String name = text.substring(text.lastIndexOf("/") + 1);
String path = text.substring(0, text.lastIndexOf("/"));
System.out.println(name);
System.out.println(path);
输出

four_seasons1.jpg
age/data/images
花些时间熟悉API。你会经常做这种事情

输出

four_seasons1.jpg
age/data/images

花些时间熟悉API。你会经常做这类事情,你可以使用regex,但是如果你发现模式是固定的,一个非常粗糙的解决方案可以是一个直接的方法

    String url = "age/data/images/four_seasons1.jpg";

    String imageName = url.substring(url.lastIndexOf( "/" )+1, url.length()) ;

你可以选择正则表达式,但如果你发现模式是固定的,一个非常粗糙的解决方案可以是直接的方法

    String url = "age/data/images/four_seasons1.jpg";

    String imageName = url.substring(url.lastIndexOf( "/" )+1, url.length()) ;

您可以解析此路径。作为分隔符,必须使用
'/'
符号。之后,您可以获取最后一个解析的元素

String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);

关于String.split您可以阅读更多信息。

您可以解析此路径。作为分隔符,必须使用
'/'
符号。之后,您可以获取最后一个解析的元素

String phrase = "age/data/images/four_seasons1.jpg";
String delims = "/";
String[] tokens = phrase.split(delims);

关于String.split,您可以阅读更多。

假设它不是来自某个标记的引用…(没有相反的证据,这是正确的;))当然:-)但是太多人基于字符串在路径上工作,这破坏了Java程序的平台独立性。“/”vs.“\”…我同意,我认为使用
文件的概念非常好,它简单明了。就我个人而言,我会尽可能地使用
File.separator
。假设它不是来自
标记的引用…(没有相反的证据,这没有错;))当然:-)但是太多人在基于字符串的路径上工作,这破坏了Java程序的平台独立性。“/”vs.“\”…我同意,我认为使用
文件的概念非常好,它简单明了。就我个人而言,我会尽可能使用
File.separator
。你真的需要这个循环吗?@besworland正如OP所说,路径是动态的。。。所以,有人会猜出文件名所在的arr的哪个索引……不需要循环。您可以只提取最后一个字符串。@besworland和Shashwat您的ppl是对的……这就是为什么不建议从办公室执行stackoverflow。。。。。。。。。。。。。。谢谢..我马上编辑..你真的需要这个循环吗?@besworland正如OP所说的路径是动态的。。。所以,有人会猜出文件名所在的arr的哪个索引……不需要循环。您可以只提取最后一个字符串。@besworland和Shashwat您的ppl是对的……这就是为什么不建议从办公室执行stackoverflow。。。。。。。。。。。。。。谢谢..我马上编辑。。