gpt4 book ai didi

java - 如何访问具有完整文件路径的目录?

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

所以,我正在编写一个程序,需要迭代目录中的所有文件,这就是我目前所拥有的。

import java.io.File;
import java.util.Scanner;

public class Main {

public static void main(String args[]) throws Exception {

VotingData v = new VotingData();

Scanner in = new Scanner(System.in);

System.out.print("Please input a directory.");
String input = in.next();

File dir = new File(input);
File[] directoryListing = dir.listFiles();

if (directoryListing != null) {
for (File child : directoryListing) {
v.merge(RecordReader.readRecord(child.toString()));
}
}

else {
// do nothing right now.
}

String[] sub1 = {"Montgomery","Miami"};
TextualRepresentation.toString(v.getAllResults());
TextualRepresentation.toString(v.getCountyResults("Montgomery"));
TextualRepresentation.toString(v.getCountyResults("Miami"));
TextualRepresentation.toString(v.getCountyResults("Butler"));
TextualRepresentation.toString(v.getSubsetResults(sub1));

}

}

项目的文件路径是 C:\Users\Jarrett Willoughby\Documents\School\CSE201\Project Stuff。

我尝试的输入是 "C:\Users\Jarrett Willoughby\Documents\School\CSE201\Project Stuff\TestFiles",但它似乎不起作用。但是,当输入只是“TestFiles”时,它会这样做。我希望能够访问不同文件夹中的目录,但由于某种原因,长方法不起作用。

编辑:我不知道错误是什么。我所知道的是,当我将“TestFiles”放入扫描仪时,它工作正常,当我尝试完整文件路径时,它不会崩溃,但它不会产生我想要的结果。

最佳答案

Scanner#next()读取以空格分隔(默认)的字符串标记。

您的输入:

C:\Users\Jarrett Willoughby\Documents\School\CSE201\Project Stuff\TestFiles

包含空格,因此 next() 只是读取“C:\Users\Jarrett”。

您可以使用Scanner#nextLine()相反。

将来,要自行调试,可以在调试器中单步执行以查看变量具有哪些值,或者添加打印输出来验证,例如这会让您很快找到解决方案:

System.out.println("input was " + input);

关于java - 如何访问具有完整文件路径的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564366/

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