示例2:“C:\D\DE\DEF\FolderT-6ren">
gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 05:07:20 25 4
gpt4 key购买 nike

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

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

=> 示例2:“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的情况相同

最佳答案

如果我理解正确的话,你只是不想要 double ?如果是这样,您只需将 for 循环中的每个指定添加到 Set 中,以避免重复。

像这样:

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]);
}
}

关于java - Java中如何从路径中获取目录名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56343213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com