如何从 Java 中的路径获取目录名称?



我列出了服务器中的所有文件夹。 所有文件夹的位置都如下所示:

=> Ex1 : "C:\A\AB\ABC\FolderToListA-someText">

=> Ex2 : "C:\D\DE\DEF\FolderToListB-someText"

我想获取文件夹列表,但只返回一次。而不是子目录的次数。

我已经列出了每个文件夹并尝试使用 String [] 部分,但问题是当我列出父目录中的每个文件夹时,我得到重复的"FolderToList"

例如:文件夹列表包含 2 个目录,它将返回两次 de 文件夹到列表。

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];     
}
}
我希望输出是"文件夹到列表A","文件夹到列表B",而不是"文件夹到列表A">

"文件夹到列表A",具体取决于文件夹中的子目录文件夹B也是如此

如果我理解正确,你只是不想要双打? 如果是这样,您只需要在 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]);
}
}

相关内容

  • 没有找到相关文章

最新更新