我有一个方法:
public void setup () {
File file = new File(74761_control_*.xml)
//some code
}
其中* - 可变部分。事先不知道它将如何被称为文件。该程序需要加载具有相同名称的xml文件。使用标准Java SE API有一种优雅的方法吗?
答案 0 :(得分:0)
java.nio
包有一些方便的方法来使用文件名模式迭代目录:
Path dir = Paths.get("c:\\temp");
Iterator<Path> iterator = Files.newDirectoryStream(dir,
"74761_control_*.xml").iterator();
现在,迭代器“保持”所有适合上面的glob模式的路径。 其余的是迭代器/文件处理:
if (!iterator.hasNext()) {
// file not found
} else {
Path path = iterator.next();
// process file, e.g. read all data
Files.readAllBytes(path);
// or open a reader
try (BufferedReader reader = Files.newBufferedReader(path)) {
// process reader
}
if (iterator.hasNext()) {
// more than one file found
}
}