我正在尝试过滤文件夹“ C:// Temp”中以“ EMP”开头的文件,并尝试返回以下路径的“路径”列表,但我尝试使用以下代码,但始终返回的是空列表。我在做语法错误吗?
String directoryPath = "C://Temp";
String partOfFileName = "EMP";
List<Path> fileNames = Files.list(Paths.get(directoryPath))
.filter(line -> line.toString().startsWith(partOfFileName))
.map(Path::getFileName)
.collect(Collectors.toList());
答案 0 :(得分:1)
func anotherGetRandomColor()->UIColor{
let newRed = arc4random_uniform(255)/255
let newGreen = arc4random_uniform(255)/255
let newBlue = arc4random_uniform(255)/255
return UIColor(red: CGFloat(newRed), green: CGFloat(newGreen), blue: CGFloat(newBlue), alpha: 1.0)
}
返回完整路径表示。如果要按文件名过滤,请在过滤操作中调用Path.toString()
:
getFileName()
答案 1 :(得分:0)
由于您要检查完整路径,因此您可能希望直接使用“ endsWith”而不是“ startsWith”来检查立即数。
现在,如果您位于“ folder1 / folder2 / test”中,并且使用startsWith,它将检查并尝试在第一个目录“ folder1”上进行过滤。
try {
List<Path> fileNames = Files.list(Paths.get(directoryPath))
.filter(line -> line.endsWith(partOfFileName))
.map(Path::getFileName)
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}