Files.walk设置只遍历文件和只匹配xml为后缀的文件
时间: 2024-02-23 18:00:09 浏览: 171
可以使用Files.walk() 方法的filter() 方法来过滤文件,只保留需要的文件。下面是一个例子,演示如何只遍历文件,并且只匹配.xml为后缀的文件:
```java
try (Stream<Path> walk = Files.walk(Paths.get("your_directory_path"))) {
List<String> xmlFiles = walk.filter(Files::isRegularFile)
.map(Path::toString)
.filter(f -> f.endsWith(".xml"))
.collect(Collectors.toList());
// do something with the xmlFiles list
} catch (IOException e) {
e.printStackTrace();
}
```
上面的代码,首先调用 Files.walk() 方法来遍历目录树,然后使用 filter() 方法来过滤只保留普通文件(isRegularFile),最后使用 map() 方法将 Path 对象转化为字符串,然后使用 filter() 方法只保留后缀为.xml的文件,最终将过滤后的文件路径收集到一个 List 中。你可以根据自己的需求,进一步处理这个 List。
相关问题
python 将文件夹下面的文件后缀如果出现.xml.xml则只保留一个.xml
可以使用 Python 的 `os` 和 `shutil` 模块来实现对文件的操作。可以遍历文件夹下的所有文件,对每个文件的后缀进行判断,如果出现了 `.xml.xml` 则只保留一个 `.xml` 后缀。
以下是一个示例代码:
```python
import os
import shutil
folder_path = '/path/to/folder' # 文件夹路径
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xml.xml'):
old_file = os.path.join(root, file)
new_file = os.path.join(root, file[:-4]) # 去掉多余的 .xml 后缀
shutil.move(old_file, new_file) # 重命名文件
```
代码中,首先使用 `os.walk` 遍历文件夹下的所有文件,然后对每个文件的后缀进行判断,如果出现了 `.xml.xml`,则使用 `shutil.move` 函数将文件重命名为只保留一个 `.xml` 后缀的新文件名。
阅读全文