我的问题有两个部分 - 第一,确切的标题是什么 - 实际计算的Path.getNameCount()方法是什么?当你在Eclipse中选择一个方法时,我读了它附带的小弹出信息,我认为这是一个合适的用法。我使用它创建的这个方法在运行时返回5作为int。其次,我尝试做的是返回目标目录中有多少文件,以便我可以运行另一种方法来检索文件名适当的次数。如果getNameCount()方法不适合此函数,您是否对如何完成相同目的有任何建议?
//Global Variable for location of directory
Path dir = FileSystems.get("C:\\Users\\Heather\\Desktop\\Testing\\Testing2");
//Method for collecting the count of the files in the target directory.
public int Count()
{
int files=0;
files = dir.getNameCount();
return files;
}
}
答案 0 :(得分:4)
getNameCount()
返回路径中的元素数(子目录)。例如,在Windows中,“C:”为0,对于“C:\ a \ b \ c” - 3,在类Unix系统中,root(“/”)将为0级({ {1}})和“/ home / user / abacaba”将位于第3级,请参阅javadoc
要列出目录,您应该使用getNameCount() == 0
:javadoc - 这里给出了完美的示例。
答案 1 :(得分:3)
作为documented,getNameCount()
返回:
路径中元素的数量,如果此路径仅表示根组件,则为0
因此,在您的情况下,元素为"Users"
,"Heather"
,"Desktop"
,"Testing"
和"Testing2"
- 不目录中文件的名称。
要列出目录中的文件,您可以使用Files.list(Path)
(在Java 8+中)或Files.newDirectoryStream(Path)
(在Java 7+中)。或者您可以转换为File
并使用"旧学校" File.listFiles()
方法等。
答案 2 :(得分:1)
它返回路径中的元素数。
实施例: -
Path path = Paths.get("C:", "tutorial/Java/JavaFX", "Topic.txt");
System.out.println(path.getNameCount());
返回:
4