[英]Generate folder names based on folder names that already exist in Java
I'm looking for a way to generate folder names based on already existing folder names ie我正在寻找一种基于现有文件夹名称生成文件夹名称的方法,即
List<String> foos = new ArrayList<String>();
foos.add( "myfolder" );
foos.add( "myfolder_1" );
foos.add( "myfolder_3" );
foos.add(generateFolderName(foos, "myfolder")); // should add myfolder_4
foos.add(generateFolderName(foos, "foobar")); // foobar
foos.add(generateFolderName(foos, "foobar")); // foobar_1
Has anyone a suggestion how to implement generateFolderName() ?有没有人建议如何实现 generateFolderName() ?
Thanks for the replies.感谢您的回复。 My answer so far is this.到目前为止,我的答案是这样。 But I'm not sure If have overseen something.但我不确定是否监督过某些事情。
public static String generateFolderName( List<String> p_folder, String p_name )
{
if( !p_folder.contains(p_name) )
{
return p_name;
}
else
{
ArrayList<String> matches = new ArrayList<String>();
for(String item : p_folder)
{
if( Pattern.matches(p_name + "_[0-9]{1,5}", item))
matches.add(item);
}
int highestIndex = 1;
for(String item : matches)
{
String strNum = item.substring(
item.lastIndexOf("_") + 1,
item.length()
);
int num = new Integer( strNum ) + 1;
if (num > highestIndex)
highestIndex = num;
}
return p_name + "_" + highestIndex;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.