Java 由不完整的(文件)名称添加的文件
我有一个方法:Java 由不完整的(文件)名称添加的文件,java,android,file,Java,Android,File,我有一个方法: public void setup () { File file = new File(74761_control_*.xml) //some code } 其中*-可变部分。事先不知道它将如何确切地称为文件。程序需要加载具有相同名称的xml文件。有没有一种优雅的方法可以通过标准Java SE API实现这一点?Java.nio包提供了一些方便的方法,可以使用文件名模式在目录上进行迭代: Path dir = Paths.get("c:\\temp"); Iterator<
public void setup () {
File file = new File(74761_control_*.xml)
//some code
}
其中*-可变部分。事先不知道它将如何确切地称为文件。程序需要加载具有相同名称的xml文件。有没有一种优雅的方法可以通过标准Java SE API实现这一点?Java.nio包提供了一些方便的方法,可以使用文件名模式在目录上进行迭代:
Path dir = Paths.get("c:\\temp");
Iterator<Path> iterator = Files.newDirectoryStream(dir,
"74761_control_*.xml").iterator();
不能保证您的模式与多个文件不匹配。所以不,这不起作用。@isnot2bad我保证这个模式只有一个文件。是的,你自己保证,但是你不能保证世界其他地方,没有直接的java API允许你使用模式来构造
文件
对象,作为文件
对象,它始终引用一个文件或目录。但请看下面我的答案,还有一种方法,并不复杂得多,如果你搜索java开放文件通配符,就会得到很多资源
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
}
}