我正在使用此代码获取目录中的所有文件。但是使用这段代码我得到了文件名和目录路径。你能帮我修改代码只返回没有文件路径的文件名列表。
public List<String> getAllDirFiles() {
List<String> fileNames = new ArrayList<>();
try (DirectoryStream<Path> directoryStream
= Files.newDirectoryStream(Paths.get("repository"))) {
for (Path path : directoryStream) {
fileNames.add(path.toString());
}
} catch (IOException ex) {}
return fileNames;
}
答案 0 :(得分:3)
此代码将准确返回位于名为“repository”的目录中的文件名列表。我特意使用了Java Streaming API,因为问题的标签是java-8
List<String> fileNames = Files.list(Paths.get("repository"))
.filter(Files::isRegularFile)
.map(Path::getFileName)
.map(Object::toString)
.collect(Collectors.toList());
答案 1 :(得分:0)
不使用path.toString()
,而是使用path.getFileName().toString()