简体   繁体   English

根据Java中已存在的文件夹名称生成文件夹名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM