gpt4 book ai didi

java - Java中Path的硬编码部分

转载 作者:行者123 更新时间:2023-12-01 11:27:57 25 4
gpt4 key购买 nike

我有以下目录树

C:\folder1\folder2\SPECIALFolders1\folder3\file1.img
C:\folder1\folder2\SPECIALFolders2\folder3\file2.img
C:\folder1\folder2\SPECIALFolders3\folder3\file3.img
C:\folder1\folder2\SPECIALFolders4\folder3\file4.img
C:\folder1\folder2\SPECIALFolders5\folder3\file5.img

我想要访问folder2,列出其中的所有目录(SpecialFolders),然后检索这些文件夹的路径,同时将(folder3)添加到其路径

我这样做的原因是我想稍后将此路径传递给一个方法来检索folder3中最后修改的文件。我知道有更简单的方法可以做到这一点,但这是一个非常特殊的情况。

我还尝试在特定时间范围内检索这些文件夹,因此我使用了 while 循环

        Date first = dateFormat.parse("2015-6-4");
Calendar ystr = Calendar.getInstance();
ystr.setTime(first);

Date d = dateFormat.parse("2015-6-1");
Calendar last = Calendar.getInstance();
last.setTime(d);

while(last.before(ystr))
{
//fullPath here = "C:\folder1\folder2\"
File dir = (new File(fullPath));
File[] files = dir.listFiles();

for (File file : files)
{
//Retrieve Directories only (skip files)
if (file.isDirectory())
{
fullPath = file.getPath();
//last.add(Calendar.DATE, 1);
System.out.println("Loop " + fullPath);
}
}

}
fullPath += "\\folder3\\";
return fullPath;

我的代码的问题是它只返回一个路径(即循环中的最后一个路径)——这是有道理的,但我想返回这样的所有路径

C:\folder1\folder2\SPECIALFolders1\folder3\
C:\folder1\folder2\SPECIALFolders2\folder3\
C:\folder1\folder2\SPECIALFolders3\folder3\
C:\folder1\folder2\SPECIALFolders4\folder3\
C:\folder1\folder2\SPECIALFolders5\folder3\

感谢您提前提供意见

最佳答案

而不是 fullPath String ,例如使用 ArrayList<String>存储所有路径。比代替:

fullPath = file.getPath();

用途:

yourArrayList.add(file.getPath());

您的方法将返回一个包含所有路径的 ArrayList,您需要编写一个方法来从中检索所有路径。

关于java - Java中Path的硬编码部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654993/

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