我列出了服务器中的所有文件夹。 所有文件夹都位于这样的位置:
=> Ex1:“ C:\ A \ AB \ ABC \ FolderToListA-someText”
=> Ex2:“ C:\ D \ DE \ DEF \ FolderToListB-someText”
我想获取FolderToLists,但只返回一次。而不是子目录的次数。
我已经列出了每个文件夹并尝试使用String []部分,但是问题是当我列出父目录中的每个文件夹时,都会得到重复的“ FolderToList”
例如:FolderToList包含2个目录,它将在FolderToList中返回两次。
for(int j = 0 ; j < folderOrigin.length; j++)
{
if(folderOrigin[j].toString().contains("-") && folderOrigin[j].length() > 29)
{
String fds = folderOrigin[j].toString();;
fds = fds.substring(0,29);
String [] parts = fds.split("\\\\");
String designation = parts[parts.length-1];
}
}
我希望输出为“ FolderToListA”,“ FolderToListB”,而不是“ FolderToListA”,“ FolderToListA”,具体取决于FolderA的子目录与FolderB相同
答案 0 :(得分:0)
如果我理解正确,您只是不想要双打? 如果是这样,您只需要在Set的for循环中添加每个指定,即可避免出现重复。
赞:
Set<String> designations = new HashSet<String>();
for(int j = 0 ; j < folderOrigin.length; j++) {
if(folderOrigin[j].toString().contains("-") && folderOrigin[j].length() > 29){
String fds = folderOrigin[j].toString();;
fds = fds.substring(0,29);
String [] parts = fds.split("\\\\");
String designation = parts[parts.length-1];
designations.add(parts[parts.length-1]);
}
}